编写一个程序,输入a b c3个值,输出其中最大值

来源:百度知道 编辑:UC知道 时间:2024/06/03 12:28:36
#include<stdio.h>
void main()
{
int a,b,c,d;
scanf("%d %d %d",&a,&b,&c);
d=a;
if(d<b)
d=b;
if(d<c)
d=c;
printf("max=%d\n",d);
}
为什么运行时输入三个数之间加逗号得出2799或者输入k得出是3255,

scanf是格式化输入,输入的格式必须符合引号内。
scanf("%d %d %d",&a,&b,&c); 中间用空格隔开,如果输入用逗号隔开,则读入第一个数后发现不匹配,它就不读下去了。
当然有的编译器会把逗号和字母强制转换成整型,不过可能性不大,你自己换几个数字试试看。

如果高兴的话可以改成
scanf("%d, %d, %d",&a,&b,&c);

此外比较的代码可以该成两行:
d=(a>b)?a:b;
d=(d>c)?d:c;