我从学习ç 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
。
当您按enter
/ 时,return
您正在生成\n
或\r\n
基于您使用的是 unix/osx 还是 windows。你不是一代EOF字符。
要生成EOF
字符,您需要^D
在 unix/osx 或^Z
Windows 上按。