/* 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型的
而本程序中,你都放到引号里,在取字符串的时候,这只算第一个参数,相当于没给出后面的参数。然后在解析参数的时候,就发生了空引用。本回答被提问者采纳
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