getchar()的作用可以是用来吸收上一个scanf()函数运行后,我们在cmd输入字符后的那个回车符。

如图中的代码,当第一个scanf运行后,我们需要在cmd终端输入一个大写字母,比如A,在A之后我们必然要按下回车键,但是此时下一个getchar需要输入的是一个字符格式(%c),回车键在此时也会被当作是一个字符输入,这时就需要用到getchar()将那个回车键给吸收掉。若不吸收,getchar还没有输入,程序就结束了。
相反,如果下一个scanf()格式是整型数(%d)的形式,则不需要getchar()来吸收回车符,因为回车符不是整型数。
本文解释了getchar()在处理scanf()后的回车符时的作用,指出当scanf()后续期望字符输入时(如%c),getchar()用于吸收回车,而当期待整型数输入时(如%d),则无需getchar()。
1万+

被折叠的 条评论
为什么被折叠?



