求助!c语言for循环里的scanf怎么用?

c语言for循环里的scanf怎么用?


肥皂起泡泡
浏览 580回答 2
2回答

不负相思意

因为你非常有可能每输入一个字符就按了一次回车,而回车其实也是一个字符。在scanf("%c",char[i]);语句后加上一句getchar();就可以啦!如果前面有输入数据的情况。把getchar();放在scanf("%c",char[i]);之前。

LEATH

肯定是因为game()函数里有scanf语句,并且scanf之后没有处理scanf留下的换行符。scanf从屏幕是读取数据时,往往不会自动读掉行尾的换行符(你输入数据后,肯定会按一个回车的对吧),所以在game函数里的最后一个scanf结束后,输入缓冲区里还一个换行符在里面,这个时候main函数里的scanf函数读到的字符就是那个换行符解决方法:在game函数的最后一个scanf函数后面,加上一个gets语句,用来读掉最后一个换行符即可,当然如果你的输出里敲了多个回车,就要执行多句。
打开App,查看更多内容
随时随地看视频慕课网APP