gpt4 book ai didi

c - getc(fp) 引起麻烦

转载 作者:太空宇宙 更新时间:2023-11-04 06:06:40 26 4
gpt4 key购买 nike

这是我的代码。

#include<stdlib.h>
#include<stdio.h>
int main(int argc,char** argv)
{
char a;
a=9;
FILE * fp;
fp=fopen(argv[1],"r");
while(a!= EOF)
{
a=fgetc(fp);
printf("\n%d",a);
}
}

这个输出没问题,但最后我得到一个带有 -1 的奇怪字符(因为我正在打印整数值。

如何只在 EOF 处停止?还有这个角色是什么?

最佳答案

除了其他答案中的方法外,您还可以这样做:

while ((a = fgetc(fp)) != EOF)
{
printf("%d\n", a);
}

现在您有一些替代解决方案。 :)

编辑:正如 R.. 善意提醒我们的那样,您还必须将 a 的类型更改为 int

关于c - getc(fp) 引起麻烦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9378073/

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