c - Getchar() 不起作用?

标签 c

我对 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/

相关文章:

C:在传递给函数的函数中传递函数指针

C:结构指针的动态数组上的类型不兼容

c - 我在 do/while 循环中有一段时间,但它仍然告诉我我没有

c - 将 1 添加到填充为 0 的二进制表示形式

无法从 C 中的文本文件中读取所有名称

c++ - 尝试将 C++ 绑定(bind)到 Haskell : getting undefined reference errors

谁能帮助我纠正这个程序的编写并运行这个程序?

c - 使用数组作为 c 中结构体的元素来初始化结构体数组

c - 静态是什么意思?

c - 检测非阻塞套接字上的关闭连接