僵尸小屁孩大结局:帮忙看看这段程序有没有错?我输入100000,500,600.输出的怎么是600呀?

来源:百度文库 编辑:高考问答 时间:2021/04/11 17:29:47
main()
{
int a,b,c,d;
printf("please input three number,\n");
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("d is %d",d);
getch();
}

int max(int x,int y,int z)
{
int v;
if(x>y) v=x;
else v=y;
if(v>z) return(v);
else return(z);
}

你abc是定义成int型的
int变量范围为-32768到32767
输入100000已经越界了
你可以把abc都设成long int 型
就不会出这种错误了