gpt4 book ai didi

c - 段错误(核心已转储)- 错误在哪里?

转载 作者:行者123 更新时间:2023-11-30 17:36:12 26 4
gpt4 key购买 nike

我有一个基本的 C 程序,我必须为个人软件过程作业执行该程序。我对 C 相当陌生,所以老实说我看不出我哪里出了问题。请通读并让我知道我在做什么导致它崩溃?

我必须读入文件,并将值存储为数组。它没有出现任何编译错误,只是出现了段错误。

#include <stdio.h>
#define array_limit 100

int main (void)

{
FILE *ifp;
char *mode = "r";
ifp = fopen("samplepopulation.txt", mode);


if (ifp==NULL)
{
printf("cannot read file \n");
}
else
{
int i;
float sample;

float values[array_limit];
i = 0;

do
{
fscanf(ifp, "%f", &sample);
if (!feof(ifp))
{
values[i] = sample;
printf("%f \n", values[i]);
i++;
if (i>array_limit)
{
printf("File larger than allowed/n");
break;
}
}

else
{
printf("read complete");
}

} while (ifp!= EOF);
}

fclose(ifp);

return 0;
}

最佳答案

改变

while (ifp!= EOF);  

while (!feof(ifp)); 

还可以像这样从文件中扫描:

if (fscanf(ifp, "%f", &sample)==EOF) //EOF if input failure
break;

关于c - 段错误(核心已转储)- 错误在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22763314/

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