gpt4 book ai didi

c - 在编译下面的代码时出现段错误,你能帮我找出错误吗

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

#include<stdio.h>
#include<ctype.h>
void main()
{
FILE *fp1,*fp2,*fp3;
char a[100],b;
int i=0,j=0;
fp1=fopen("names.txt","r");
fp2=fopen("names.txt","w");
i=0;
do
{
b=fgetc(fp1);
b=toupper(b);
a[i]=b;
i++;
} while(b!=EOF);
i=0;
do
{
fputc(a[i],fp2);
i++;
}while(a[i]!=EOF);
fclose(fp1);
fclose(fp2);
fclose(fp3);
}

编译此代码时遇到段错误,你能帮我找出错误吗错误类似于“第 2 行:段错误”

最佳答案

您需要学习如何调试。要么学习如何使用调试器,要么如果您没有耐心,只需在代码中添加一些调试打印即可看看它进展到什么程度。例如:

fprintf(stderr, "%d\n", i);

这会告诉你一些事情。您很快就会发现错误。

我的猜测是:

  1. 您的文件超过 100 个字符。
  2. b 应该是一个 int,并且不应将其存储在数组中。
  3. 第二个循环不应查找文件结尾,而应使用您读取的字符数。
  4. 您正在关闭 fp3,但尚未打开它。

但是,这又是基本的东西。您需要学习进行基本的调试。

关于c - 在编译下面的代码时出现段错误,你能帮我找出错误吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46141393/

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