所以当我算上字符时,我没有得到任何输出。 这段代码的输出是什么?因为当我编译并执行它时,所有我得到它的空白黑色空间。 我以为它应该是COUNT。我不明白。请原谅,我刚开始学习C. 我想知道的是这段代码应该显示为什么输出?
#include <stdio.h>
/* count characters in input; 1st version */
main()
{
long nc;
nc = 0;
while (getchar() != EOF)
++nc;
printf("%ld\n", nc);
}
答案 0 :(得分:3)
欢迎使用StackOverflow。我将逐步引导您完成此代码的操作,也许这会有所帮助。
引入一些定义,特别是printf
的定义:
#include <stdio.h>
声明main
函数:
main()
{
声明并设置字符数的变量:
long nc;
nc = 0;
这是关键 - 循环,获得字符后的字符,直到收到的字符与EOF
匹配,在大多数系统上都是Ctrl-D。
while (getchar() != EOF)
为每个字符增加nc
变量(增加1)。
++nc;
将字符数打印为长整数。
printf("%ld\n", nc);
}
答案 1 :(得分:0)
运行程序时,它将等待用户输入(通过getchar()
收集)。
您必须首先在终端中键入一些字符,然后按 ctrl + d 发送传输结束字符({{ 1}}将最终匹配)。
答案 2 :(得分:0)
每个文件都以EOF
结尾。因此程序会计算到达EOF
之前的字符数。迭代是使用while
循环完成的。
您应该为该计划提供意见。
在程序所在的当前文件夹中创建一个文本文件sample.txt,然后将该文本文件作为程序的输入
program < sample.txt