输入两个整数,输出其中的较大数问题,有人编写程序如下:
#include<stdio.h>
int a ,b,x;
printf("请输入两个整数:");
scanf("%d,%d",&a,&b);
x=a;
if(a<b)
{
x=b;
printf("%d ",x);
}
return 0;
}
如果a<b条件成立,b的值覆盖X,然后输出X,程序是对的。但如果a<b条件不成立,将从if形式中跳出,什么也没做,也就是说,如果a>=b,将不会输出任何结果,因为对输出了函数的调用语句包含在if的复合语句中了。
正确的写法是:
x=a;
if(a<b)
x=b;
printf("%d ",x);