代码没有问题,
不过你的输入没按照你自己scanf所设定的格式来
scanf("%d,%d,%d",&a,&b,&c);
这么写的话,你应该这么输入:
1,7,8(回车)
或者
2,5,3(回车)
别忘了逗号,也别忘了将3个数都输完再回车
如果这么写,
scanf("%d%d%d",&a,&b,&c);
就可以这么输入:
2(回车)
3(回车)
1(回车)
扩展资料
C语言编写3个数比较大小其他代码样例:
# include
int max(int x,int y,int z); //声明子函数
void main()//主函数
{
int a,b,c,d;//定义变量名
printf("shuru a,b,c"); //打印出shuru a,b,c
scanf("%d,%d,%d",&a,&b,&c); //录入数据
d=max(a,b,c);//调用子函数
printf("max = %d\n",d);
}
int max(int x,int y,int z)//子函数体,比较大小返回最大值
{
int m,int n;
if(x>y) m = x;
else m = y;
if(m>z) n = m;
else n = z;
return(n);
}
代码没有问题,
不过你的输入估计没按照你自己scanf所设定的格式来
scanf("%d,%d,%d",&a,&b,&c);
这么写的话,你应该这么输入:
1,7,8(回车)
或者
2,5,3(回车)
别忘了逗号,也别忘了将3个数都输完再回车
如果这么写,
scanf("%d%d%d",&a,&b,&c);
就可以这么输入:
2(回车)
3(回车)
1(回车)
另外:
LS的两位,连别人的程序都没仔细看一下,就做出一副高手样子,
自打耳光了不是!
# include
int max(int x,int y,int z); //声明子函数
void main()//主函数
{
int a,b,c,d;//定义变量名
printf("shuru a,b,c"); //打印出shuru a,b,c
scanf("%d,%d,%d",&a,&b,&c); //录入数据
d=max(a,b,c);//调用子函数
printf("max = %d\n",d);
}
int max(int x,int y,int z)//子函数体,比较大小返回最大值
{
int m,int n;
if(x>y) m = x;
else m = y;
if(m>z) n = m;
else n = z;
return(n);
}
真是比较无语了.
首先你必须把 int max() 放到 main()上面, 这才是程序最大的问题.
再试试看得到什么结果
三楼提到的也是个常见病. 大家输入数字时很少人会 1, 2, 3, 而是
1
2
3
看你自己的习惯决定怎么改动 scanf("%d,%d,%d") 是否去掉里面的","
输入三个数字时,中间的三个逗号都要用英文模式下输入,不然就会出现你的这种情况。