#include
int main()
{
int max(int x,int y);
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
return 0;
}
int max(int x,int y)
{
int z;
if(x>y) z=x;
else z=y;
return(z);
}
奇怪!这道比较大小编程是书上的,我看了几遍,和书上的没差啊,哪里错了??
怎么无论大小,每次的输出结果都是我输入的第一个数???
程序没有错,但是你怎么输入的,要输入 第一个数逗号第二个数
比如
1,2
max=2
scanf中的两个%d之间的逗号去掉试试。scanf中的输入内容要保持严格的一致性,也就是说,你原来的程序在输入的时候要加上逗号。
这句scanf("%d,%d",&a,&b);
你中间有个逗号,所以输入时需要"1,5"
注意,如果你输入“1 5”则默认为x =1 而 y为随机数,一般初始化随机数都是负多少多少多少。。。。你中间的逗号
scanf函数的功能你还是不理解。 这是此问题的症结所在
对于整形浮点型数据间隔字符一定与双引号内间隔字符一至,(例如以上例子:双引号内是逗号, 假如你输入1 空格 2 那么scanf函数只会读取1,
读到空格结束)注意:scanf函数将空白字符当作默认结束符。 当然空白字符包括(空格, 制表符(tab键),回车(enter键) )
因此 我断定你应该是这么输入的 如图所示:
蟹蟹各位的解答,的确呢
我输入是1 2这样子的,中间漏了逗号,说到底还是对scanf函数的功能不够了解,我会继续努力的