c - 在 Ubuntu 中无法使用 getchar 打印字符数

标签 c ubuntu getchar

我是 C 语言和 Ubuntu 的新手。我编写了一个非常简单的程序,使用 whilegetchar() 来计算字符数。程序是:

#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/

相关文章:

c - 在 C99 中使用 free() 之后的指针?

ubuntu - 一个 USB 集线器上的两个网络摄像头 - 带宽问题

python - 与 docopt 的 Cronjob

ubuntu - Hadoop Hue 无法访问文件系统根目录

c - 尝试打印 char 数组中特定索引中的 char

c - getchar() 和缓冲区顺序

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

ios - 为什么没有适用于 iOS 的 Objective C AddressBook Framework,以及如何最好地解决 Swift 中 C 的问题?

c - 在 C 中每次循环迭代读取三个字符?

当程序从终端运行时,clock_gettime 需要更长的时间来执行