我是 C 语言和 Ubuntu 的新手。我编写了一个非常简单的程序,使用 while
和 getchar()
来计算字符数。程序是:
#include <stdio.h>
main() {
int i;
int c= 0;
while ( ( i = getchar() ) != EOF ){
c++ ;
}
printf( "%d characters\n" , c) ;
return 0;
}
我保存了它并使用gcc c1.c -o c1
编译了它。没有报告错误。我使用 ./c1
执行该程序。我输入为 daniweb,然后按 Enter 键,但会显示计数。什么地方出了错?是无限循环吗?当从键盘输入时,getchar()
如何确定 EOF
?
最佳答案
在终端上,您可以通过按 Ctrl+D 将 EOF 发送到应用程序。您还可以执行以下操作:
echo "blablub" | ./yourprogram
统计blablub中有多少个字符。在这种情况下,EOF 会自动发送。
关于c - 在 Ubuntu 中无法使用 getchar 打印字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11567560/