我正在编写K & R书籍,并且介绍了如何从文本流中统计字符的代码示例。我复制了他们的代码并尝试运行它,但是当命令行提示输入字符时,循环不会退出,因此也不会输出字符数。这里有没有错误,我不追赶?K&R C计数字符
#include <stdio.h>
main()
{
long nc;
nc = 0;
while(getchar() != EOF) {
++nc;
}
printf("%1d\n", nc);
}
我正在编写K & R书籍,并且介绍了如何从文本流中统计字符的代码示例。我复制了他们的代码并尝试运行它,但是当命令行提示输入字符时,循环不会退出,因此也不会输出字符数。这里有没有错误,我不追赶?K&R C计数字符
#include <stdio.h>
main()
{
long nc;
nc = 0;
while(getchar() != EOF) {
++nc;
}
printf("%1d\n", nc);
}
每当你想停止它只是发送EOF信号到shell。
按Ctrl +d在Linux或Ctrl键在Windows + ž。
顺便说(额外信息)按Ctrl +ç发送到SIGINT
过程在Linux和Windows上它类似的东西。
你有没有试着按按Ctrl +d(在Linux上)或按Ctrl +ž(在Windows上)?如果是,那么它肯定会出现循环。按下这些键后,它将返回EOF并且循环将终止。
尝试使用CNTL-Z(文件结束符)结束您的字符流。刚刚击中Enter
结果为CR
这只是另一个要计数的字符
*刚刚击中输入结果的CR这只是另一个字符数*我不知道? –
尝试用'\ n''替换'EOF'。 –
你尝试过输入'EOF'字符吗? –
我看到我的错误 - linux上的control + c不是EOF字符。谢谢!堆栈溢出让我立即接受答案 – Andrew