我刚刚开始编写C程序,我正在接受Dennis Ritchie编写的C编程书的帮助。当我试图运行COUNTING字符或新行的程序时,我期待一些数字作为解决方案,但它没有发生,而只是允许我输入字符,没有值(行数/字符数)返回。 我是编程新手。 我很感激能帮到我。
字符计数
#include <stdio.h>
main( )
{
long nc;
nc=0;
while (getchar( ) != EOF)
++nc;
printf( "%1d\n", nc );
}
答案 0 :(得分:2)
正如你在行中看到的那样
while (getchar( ) != EOF)
您的程序在打印计数器之前需要EOF(文件结束)。
因此,您应键入文本,然后按 Ctrl + D (* nix命令shell中的EOF)或 Ctrl + Z (Windows)来剪切输入。
然后你的计数器将被打印出来。
此致
答案 1 :(得分:0)
好像你对向程序发送输入感到困惑。您的代码从所谓的STDIN逐个读取字符,直到它读取EOF(文件结束)标记。通常STDIN - 是一个键盘,所以你输入的内容似乎都是由getchar()
读取的。如果要发送EOF - 请按Ctrl + D(unix系统)。另一种方法 - 使用预填充文本文件,并通过重定向将其用作程序的STDIN:
$ ./a.out < my_input.txt
这种方法适用于* nix和win系统。