所以当我计算字符数时,我没有得到任何输出。 这段代码的输出是什么?因为当我编译并执行它时,我得到的都是空白。 我认为它应该计数。我不明白。请原谅,我刚开始学C。 我只想知道这段代码到底应该显示什么作为输出?
#include <stdio.h>
/* count characters in input; 1st version */
main()
{
long nc;
nc = 0;
while (getchar() != EOF)
++nc;
printf("%ld\n", nc);
}
最佳答案
欢迎来到 StackOverflow。我将逐行向您介绍这段代码的作用,也许这会对您有所帮助。
引入一些定义,特别是 printf
的定义:
#include <stdio.h>
声明main
函数:
main()
{
声明并设置一个字符数变量:
long nc;
nc = 0;
这里是关键 -- 循环,一个接一个地获取字符,直到接收到的字符匹配 EOF
,在大多数系统上是 Ctrl-D。
while (getchar() != EOF)
为每个字符增加 nc
变量(将其增加 1)。
++nc;
将字符数打印为长整数。
printf("%ld\n", nc);
}
关于c - 在 C Programming Language Counting characters 一书中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19579904/