程序如下: main() { int x,y,z; scanf("%d%d%d",&x,&y,&z); printf("%d\n",x+y+z); } 输入:25,13,,10 输出为什么是3278? 各位,我知道正确的格式,我是想知道为什么是3278,我换输入:0,0,0,就是3253了.也就是这个数字是怎么来的,我用的是Turbo c 2.0,也就是想知道,带逗号后的这个输出数字是如何得到的.为什么是这个数字?谢谢!
3 回答
慕田峪4524236
TA贡献1875条经验 获得超5个赞
HUWWW
TA贡献1874条经验 获得超12个赞
因为你的scanf函数中的格式与输入的格式不对,即
scanf("%d%d%d",&x,&y,&z);这句中格式应该与后面的变量一致,三个%d之间要加逗号,改为scanf("%d,%d,%d",&x,&y,&z);改成这样结果就是对的,而是你那样的做法,相当于变量x,y,z没有初始化,所以结果是一个随机数。
牛魔王的故事
TA贡献1830条经验 获得超3个赞
这个问题实际上意义不大,%d之间无空格,输入时可以用空格键隔开或者Tab键,但是像这样scanf("%d,!%d**%d",&a, &b, &c),那你输入时,应该这样输入23,!-56**678
这样输入a,b,c的值就分别是23,-56,678。楼上那位有一点错误,scanf("%d,!%d**%d",&a, &b, &c),%d之间间隔符号没必要和&a,&b,&c一样 我这样写也是可以的,但是这是为了区分,没有谁闲着没事写成这样子。
- 3 回答
- 0 关注
- 323 浏览
添加回答
举报
0/150
提交
取消