因为getchar一次只读一个字符,如果只有一次都入的话那就不还while会变成死循环。所以必须要有你360问答第一个注释的语句。
getchar(stdin)语句功能:getchar有一个int型的返回值,当程序调用getchar时,程序就等着用户按键,用户输入的字符被存放在键盘缓冲区中,直到用户按回车为止(回车字符也放在缓冲区中)。
当用户键入回车之的住伤去好标后,getchar才开始从stdin流中每次读入一个字符,getchar函数的返回值是用户输入的第一个字符的ASCII码。
函数原理
getchar由宏实现:#definegetchar()getc(stdin)。getchar有一个int型的返回值。当程序调用getchar时,程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中。直到用户按回车为破志附考备止。当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符。
getchar函数的返回值是用户输入的字符的ASCII码,若文件结尾则返回-1(EOF),且布纸单假跳而探具试丝将用户输入的字符回显到屏幕。如用户在按回车之前输入了不止一个字常掉维安厚去符,其他字符会保留在键算条盘缓存区中,等待后续getchar调用读取。