c语言for循环里的scanf怎么用?
2 回答
不负相思意
TA贡献1777条经验 获得超10个赞
因为你非常有可能每输入一个字符就按了一次回车,而回车其实也是一个字符。
在
scanf("%c",char[i]);语句后加上一句getchar();就可以啦!
如果前面有输入数据的情况。把getchar();放在
scanf("%c",char[i]);之前。
LEATH
TA贡献1936条经验 获得超6个赞
肯定是因为game()函数里有scanf语句,并且scanf之后没有处理scanf留下的换行符。
scanf从屏幕是读取数据时,往往不会自动读掉行尾的换行符(你输入数据后,肯定会按一个回车的对吧),所以在game函数里的最后一个scanf结束后,输入缓冲区里还一个换行符在里面,这个时候main函数里的scanf函数读到的字符就是那个换行符
解决方法:
在game函数的最后一个scanf函数后面,加上一个gets语句,用来读掉最后一个换行符即可,当然如果你的输出里敲了多个回车,就要执行多句。
添加回答
举报
0/150
提交
取消