使用 getchar() 方法计算输入中的字符数

Alp*_*mez 2 c getchar

我从学习ç C编程语言。我试图使以下代码工作:

#include <stdio.h>
int main() {
    int char_count = 0;
    while (getchar() != EOF)
        ++char_count;
    printf("Number of chars are %ld ", char_count);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我构建并运行代码。然后,我输入一个随机单词并按回车键。我希望在下一行看到一个数字,但发生的情况是光标移动到下一行。当我输入一个新词时,也会发生同样的事情。我错过了什么?

编辑:我希望在程序完成获取第一个单词的字符时getchar()返回EOF

Sar*_*vex 5

当您按enter/ 时,return您正在生成\n\r\n基于您使用的是 unix/osx 还是 windows。你不是一代EOF字符。

要生成EOF字符,您需要^D在 unix/osx 或^ZWindows 上按。