scanf(“%d",&i);scanf(“%d",&j);scanf(“%d",&k); 为什么输出的后两个值j,k是0,在付值12.3的情况下
答案:3 悬赏:0
解决时间 2021-03-20 23:45
- 提问者网友:幽瑟玉琼情殇
- 2021-03-20 11:21
定义int并初值为0时,scanf(“%d",&i);scanf(“%d",&j);scanf(“%d",&k); 为什么输出的后两个值j,k是0,在付值12.3的情况下
最佳答案
- 二级知识专家网友:没感情的陌生人
- 2021-03-20 12:35
因为 第一个%d读取了 12.3中的12
到.的时候,就不读了
第二个%d从.开始读,读取失败,所以j还是初值0
第三个%d同第二个%d
到.的时候,就不读了
第二个%d从.开始读,读取失败,所以j还是初值0
第三个%d同第二个%d
全部回答
- 1楼网友:风格单纯
- 2021-03-20 13:55
int 是整形变量。
再看看别人怎么说的。
- 2楼网友:woshuo
- 2021-03-20 13:38
在读入的时候,会取“回车”为结束条件,然后因为%d是整数,所以第一次scanf的时候,就会读取12.3,并取整后赋给i,这样j和k就只有缺省值了。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯