为什么编写的c语言程序运行出来的结果都不符合实际的运算啊?

比如这个程序 #include <stdio.h> void main() { int a,b,sum; scanf("%d,%d,&a,&b"); sum=a+b; printf("sum is%d\n",sum); } 输入的是15 20 结果sum is-1717986920

scanf("%d,%d,&a,&b");这句有语义错误,语法上没有错误
运行完这句以后,实际还是没有给a和b赋值,a和b的值是未知的,然后计算sum=a+b;的时候,用的值是a和b的地址里面之前有的值
scanf("%d%d",&a,&b)这么写就可以了
输入
15
20
如果写成scanf("%d,%d",&a,&b)那么就要输入15,20
格式字符串里有逗号,输入的时候也要输入逗号,否则也会出问题
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜