C语言中单独一行getchar()然后下一行gets是什么用法?求解

如题所述

这肯定是在getchar前已经有了输入语句了,输入时把接收命令'\n'遗留在了输入缓冲区里,用getchar来吸收掉这个'\n',不然gets遇到'\n'后认为输入已经结束了,从而得不到从键盘输入的字符串了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-14
上一次的输入会留下一个换行符'\n'在键盘缓冲区中,如果直接用gets(str);会读入一个空行,因为gets函数是读取一行,遇到换行符就停止读入。
getchar();就是吃掉这个换行符的。本回答被提问者和网友采纳
相似回答