我对 getchar() 函数感到困惑,所以我搜索了这个很棒的网站并阅读了所有相关主题,并在 K&R 书中阅读了有关 getchar() 的内容。但是当我运行代码,在控制台屏幕上输入一个词,然后回车时,什么也没有发生。我预计要显示的字符数。
#include<stdio.h>
int main(void)//doesn't work??
{
int c ;
int count ;
while ( ( c = getchar() ) != EOF )
count ++ ;
printf( "%d characters\n" , count ) ;
return 0;
}
最佳答案
我认为这是因为您正在按 enter 并期望循环停止。
条件
while ( ( c = getchar() ) != EOF)
只有当您按下 Ctrl + Z
时,Windows 上才会为 false。
我认为在 UNIX 上是 Ctrl + D
,所以如果您使用的是 Ubuntu,则应该是 Ctrl + D
。
如果您希望循环在按下 enter 时停止,请尝试检查 '\n'
字符。
关于c - Getchar() 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7359298/