C语言:比较三个数大小时,为什么比较负数时返回错误?
代码如下:
#include <stdio.h>
int main()
{
int max(int x,int y,int z);
int a, b, c, d;
printf("this is a C program.\n");
scanf("%d,%d,%d",&a,&b,&c); //输入负数时,逗号必须是英文逗号
d = max(a,b,c);
printf("max is: %d\n",d);
return 0;
}
int max(int x,int y,int z)
{
int m;
m = x;
if(m < y){
m = y;
}
if(m < z){
m = z;
}
return m;
}
经过测试,如果以逗号为分隔,输入负数时,逗号必须为英文符号,否则返回结果错误。