我尝试读取文件以提取数字,然后将其进行比较以找到最常用的数字。
每次我跑这个,我都会在debbuger中得到这个消息(显然程序没有运行)。
Program received signal SIGSEGV, Segmentation fault.
In ?? () ()
我无法在我的代码中找到问题,我删除了我的文件并运行了程序,但是当我将" test"提起这件事只是崩溃...
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE *fp;
int especie = 0;
int es = 0;
int noes = 0;
int i = 0;
fp = fopen("especies.txt", "r");
if (fp == NULL){
printf("\nError de apertura del archivo. \n\n");
}
else{
for (i; i <= 10000000000; i++){
while (feof(fp) == 0){
fscanf(fp, "%d", &especie);
if(i == especie){
es++;
}
else{
noes++;
}
}
if (es >= ((es+noes)/2)){
break;
}
else{
rewind(fp);
es = 0;
noes = 0;
}
}
printf("%d", i);
fclose(fp);
}
return 0;
}