C语言中3个数相加的代码

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int a,b,c,sum;

printf("please input 3 numbers:");
scanf("%d,%d,%d",&a,&b,&c);

sum=a+b+c;

printf("sum=%d",sum);

system("PAUSE");
return 0;
}
我在运行界面输入1,2,3 结果是6,这是正常的。但我如果输入1,却显示2293701,这是为什么?输入一个数也能出结果吗?还是这么怪?

你的abc没有初始化,以后写程序变量最好初始化,这是编码习惯。
程序期待的输入格式是数字之后是逗号,然后你输入了1之后再输入的是回车,这个字符它不接受
就直接跳到下面执行,a=1,b和c是未初始化的无意义的数字
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-01-13
#include "stdio.h"
#ihnclude "stdlib.h"
void main()
{
int x;
int y;
int z;
scanf("%d %d %d",&x,&y,&z);//输入3个数
printf("总和:%d",x+y+z);//打印结果。
}
第2个回答  2011-03-11
#include <stdio.h>
#include <stdlib.h>
第2个就多余了,比过也不碍程序进行,你只输入1,是不是又按了几下空格或换行才显示结果,那是因为你把空格或换行赋予了给b,c那就b,c的值就乱了,所以输出sum=1+乱码+乱码;
第3个回答  2011-03-11
程序让输入3个数字,首先你就输入一个数字,而SUM=A+B+C,你输入1付给变量A,SUM=1+b+c ,数字和字符相加了! B , C 默认的不是零,你输入一个数字,他返回的是十进制的数,但被返回的1可能就是按2进制算了,如果你输入 三个数字,1、0、0试试 我自己猜的,本人也是新手呵呵
第4个回答  推荐于2018-02-27
输入1个数的话 剩余两个数由于你没有初始化
那么值是随机的
一个确定的值加两个随机的值本回答被网友采纳
相似回答