gpt4 book ai didi

c - C 中 EOF 的用法

转载 作者:行者123 更新时间:2023-11-30 20:18:06 26 4
gpt4 key购买 nike

Output

代码:

#include<stdio.h>

main()
{
int c;
printf("Enter any charachter!: ");
while((c = getchar()) != EOF) {
putchar(c);
printf("%d\n", (c = getchar()) != EOF);
}
}

我尝试用 C 语言测试 EOF,但遇到了困难。我想获取 EOF 的值,结果发现它是 -1

我使用 getchar()putchar() 编写了一个简单的程序。

我已经添加了程序和输出的屏幕截图。输出对我来说没有任何意义。

如您所见,我正在尝试获取一个字符并使用 getchar()putchar() 显示它。我正在尝试打印 while 循环中使用的条件的值。为了检查 EOF,我特意输入 -1 作为输入。 putchar() 打印出 -1 然后最后的 printf 语句让我感到困惑。我为 getchar() 输入 -1,但显示 1 意味着 c 不等于 EOF。但我认为 -1 是 EOF。
而且我不明白为什么还显示 11 。我正在使用 codeblocks IDE。
请帮我。提前致谢。

最佳答案

EOF 不是字符,并且不是从流中读取的。它只是返回值,表明该流上没有更多输入。您可以通过在 *nix 上输入 CtrlDCtrlZ 来发出 EOF 信号在 Windows 上。

关于c - C 中 EOF 的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54978143/

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