gpt4 book ai didi

c - 文件结束 (EOF) 的方法在 NetBeans 控制台中不起作用

转载 作者:行者123 更新时间:2023-11-30 16:29:57 26 4
gpt4 key购买 nike

Code Image

我一直在从 K&Re2 学习 C。上面的代码是Pg18(字母计数程序)中提到的,我运行它是为了确认目的。我尝试输入几个字符并按 ENTER ,但它不起作用。然后我听说CTRL+Z , CTRL+CCTRL+DENTER对于文件结束。我在 NetBeans 控制台中尝试过,但没有成功。我试过\0\n太遗憾了,它也不起作用。我已经搜索过这个,但似乎都已经解决了 CTRL+Z 的问题, CTRL+CCTRL+DENTER方法。我不明白这里有什么问题。PS:我使用Windows 7

抱歉没有直接插入代码。这是它-

#include <stdio.h>
#include <stdlib.h>

int main() {
long c = 0;
while (getchar() != EOF) {
++c;
}
printf("%ld", c);
return 0;
}

在图像中,我还没有初始化 long c 的值。对此感到抱歉。该程序正在运行,但我用于 EOF 的方法不起作用。

编辑:我尝试在 NetBeans 中进行编译,然后在 cmd 中而不是在 NetBeans 控制台中运行生成的 .exe。 CTRL+Z似乎有效!你们知道为什么它在 NetBeans 控制台中不起作用吗?

最佳答案

getchar() 将字符存储在缓冲区中,直到您按 Enter 键。按下回车键后,如果没有分配后续变量,则从缓冲区中取出第一个字符。当您使用 while 循环时,它将一直持续到 \r\n。所以您必须按 enter 键 + ctrl+z 才能到达 EOF。

关于c - 文件结束 (EOF) 的方法在 NetBeans 控制台中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51539638/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com