永发信息网

请问C语言中这个FOR循环几次?例如:当N=2时,GETS为什么只读入一次?

答案:3  悬赏:50  手机版
解决时间 2021-11-26 01:20
  • 提问者网友:爱唱彩虹
  • 2021-11-25 17:21
请问C语言中这个FOR循环几次?例如:当N=2时,GETS为什么只读入一次?
最佳答案
  • 五星知识达人网友:旧脸谱
  • 2021-11-25 18:50
当n=2,for循环2次,你感觉只读取一次是因为 scanf("%d",&n);这里你输入2,回车,scanf读入2,而回车被gets读取了,也就是说,第一次gets读取了 回车 ,第二次读取了你后来输入的数字。
全部回答
  • 1楼网友:思契十里
  • 2021-11-25 20:52
由于scanf("%d",&n);只能识别“2回车”中的2,而回车被送入gets中,所以gets是读入了两次,一次是回车,一次是你输入的。
而如果你输入的是如2 asd回车则输出一次asd,再打入如sddh回车则在输出一次sddh
这就是两次了
  • 2楼网友:孤老序
  • 2021-11-25 19:26
因为回车也属于字符,在你输入2的时候,接着的一个回车被数组a截获了,而且回车键是个补课打印的字符,所以在i=0的时候实际上是输出的那个回车键的字符,但在屏幕上显示不出来,接着执行第二次循环,由用户输入,所以最后结果就只显示你输入的那一次结果
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯