阅读背景:

使用I/O重定向输入数据集时出现分段错误

来源:互联网 

Source:

来源:

#include<stdio.h>

int load(char fileName[], int array[]);
int sort(int array[], int length);
int print(int length, int array[]);

int main() {

   char fileName[300];
   int numList[300];
   int length;

   printf("File Name: ");
   scanf("%s", fileName);

   length = print(sort(numList,load(fileName, numList)), numList);
   printf("\nLength: %i\n", length);
   printf("Finished execution.\n");

   return 0;
}

int load(char fileName[], int array[]) {

   FILE *input = fopen(fileName, "r");

   int length = 0, i = 0;

   if(input == NULL) {
      fprintf(stderr, "Error accessing file.\n");
   } else {
      while(fscanf(input, "%i", &array[i]) != EOF) {
         i++;
         length++;
      }
   }

   fclose(input);
   return length;
}

int sort(int array[], int length) {
  int a, b, c;

  for (a = 0 ; a < ( length - 1 ); a++) {
    for (b = 0 ; b < length - a - 1; b++) {
      if (array[b] > array[b+1]) {
        c = array[b];
        array[b] = array[b+1];
        array[b+1] = c;
      }
    }
  }
   return length;
}

int print(int length, int array[]) {
   int i;

   printf("\n[NUMBERS]\n\n");
   for (i = 0; i< length; i++) {
      printf("[N]%i\n", array[i]);
   }
   return length;
}
#include<stdio.h>

int load(cha



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: