编写一个C程序,输入ABC三个数,输出最大

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int a,b,c,max;
printf("please input a,b,c\n");
scanf("%d,%d,%d,&a,&b,&c");
max=a;
if(max<b)
max=b;
if(max<c)
max=c;
printf("the largerst number is %d\n,max");
return 0;
}

为什么会出现这种情况,我知道是内存的问题,是不是输入错误了??

最简单的教课书的编写方法:

#include<stdio.h>


int main(){


int a,b,c,max;


printf("请输入3个数字:");


scanf("%d%d%d",&a,&b,&c);


max=a;


if(max<b)


max=b;


if(max<c)


max=c;


printf("最大的数是%d:",max);


return 0;


}

可以借鉴应用的其他方法:

#include<stdio.h>


void main()


{


int a,b,c,max;


scanf("%d %d %d",&a,&b,&c);


if (a>=b)


max=a;


else


max=b;


if (max<c)


max=c;


printf("%d",max);


}

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-22
scanf("%d,%d,%d,&a,&b,&c");改成
scanf("%d,%d,%d“,&a,&b,&c);

printf("the largerst number is %d\n,max");改成
printf("the largerst number is %d\n",max);

要说这个是为什么,是因为scanf和printf的变参引起的,这两个函数的第一个参数为字符串,后面的参数都需要靠解析这个字符串才能知道。那么你的字符串里有一个%d这种标识,他就认识第二个参数是int型的
而本程序中,你都放到引号里,在取字符串的时候,这只算第一个参数,相当于没给出后面的参数。然后在解析参数的时候,就发生了空引用。本回答被提问者采纳
第2个回答  2013-04-22
scanf("%d %d %d",&a,&b,&c
相似回答