请教一下关于在C语言中scanf函数的输入格式!

程序如下: 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,也就是想知道,带逗号后的这个输出数字是如何得到的.为什么是这个数字?谢谢!

慕婉清6462132
浏览 336回答 3
3回答

慕田峪4524236

scanf函数是c语言中输入函数的一种,将用户从键盘输入的文本转换为对应的值存储起来,下面请看详细的教程。1、首先在主函数中定义一个变量age,类型为int类型。2、接着用printf函数给出相应的提示—“please enter your age”。3、使用scanf函数,将用户输入的内容存储到age这个变量,注意在变量要加上&,如果是字符数组则不用加。4、这时将这个变量的值打印出来,也就是用户输入的内容打印出来。5、最后右键单击,在弹出的菜单中点击“run code”。查看运行结果,就完成了。

HUWWW

因为你的scanf函数中的格式与输入的格式不对,即scanf("%d%d%d",&x,&y,&z);这句中格式应该与后面的变量一致,三个%d之间要加逗号,改为scanf("%d,%d,%d",&x,&y,&z);改成这样结果就是对的,而是你那样的做法,相当于变量x,y,z没有初始化,所以结果是一个随机数。

牛魔王的故事

这个问题实际上意义不大,%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一样 我这样写也是可以的,但是这是为了区分,没有谁闲着没事写成这样子。
打开App,查看更多内容
随时随地看视频慕课网APP