例如:
main()
{ int i,a;
for(i=0;i<5;i++) scanf("%d",&a);
}
.在输入方式当中.可以选择输入一个回车一个.也可以选择一次性输入...为什么会有这样的情况呢?..为什么一次性输入也可以实现~?个人是刚学C不久的呵呵..只了解指针 链表 树等一些基本知识..还没有深入学习......也因此来求助一下各位呵呵...
请问一下关于scanf的原理
答案:4 悬赏:20 手机版
解决时间 2021-04-29 04:14
- 提问者网友:皆是孤独
- 2021-04-28 18:57
最佳答案
- 五星知识达人网友:山君与见山
- 2021-02-12 15:36
这是因为输入 是一个缓冲区,你输入 123456
缓冲区就有这些数据啦,
而 scanf("%d",&a); 他是接收缓冲 区的数据,
如果没有数据,它就等待,如果有数据,它就不停地去读,
比如你循环5次,他就读了 12345
如果你每次输入一个数字 ,下一次它就等你输入 ,因为缓冲区没数据了
缓冲区就有这些数据啦,
而 scanf("%d",&a); 他是接收缓冲 区的数据,
如果没有数据,它就等待,如果有数据,它就不停地去读,
比如你循环5次,他就读了 12345
如果你每次输入一个数字 ,下一次它就等你输入 ,因为缓冲区没数据了
全部回答
- 1楼网友:平生事
- 2019-12-06 08:03
您好!!对于scanf的工作原理,你可以参考下scanf函数的使用说明。对于任何不按照scanf函数格式进行输入的情况,都会导致得不到正确结果!why??为什呢??对于这个问题,我是不推荐初学者去深究的,因为没有意义!scanf这个函数是一个库函数,用于按照指定格式从键盘读取数据,内部实现机理是较为复杂的,如果可以您可以去查看下scanf函数的实现源码,但没有必要深究!
- 2楼网友:duile
- 2021-03-28 08:26
我好好复习下
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯