gpt4 book ai didi

c - C 中的文件处理 : can't fathom the output

转载 作者:行者123 更新时间:2023-11-30 19:23:44 24 4
gpt4 key购买 nike

我编译了这个(gcc编译器):

#include< stdio.h>

main() {

unsigned char ch;
FILE *fp;
fp=fopen("trial","r");
while((ch=getc(fp))!=EOF)
printf("%c",ch);
fclose(fp);
}

它给出以下内容:

Warning: comparison is always true due to limited range of the data type

执行时,终端上会打印无穷无尽的字符流。(假设我在编译程序之前创建了一个名为“Trial”的文件,并在该文件中写入了一些文本。)

请解释一下警告......

最佳答案

因为 EOF 是 -1,而你的 ch 是 unsigned char,这意味着 ch 永远不会变成 -1。

而是使用int ch;

关于c - C 中的文件处理 : can't fathom the output,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10056256/

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