Предполагается, что этот код получает целые числа из файла, который является finput, и сортирует его, и получает первое целое число в файле, которое представляет собой число целых чисел, которые будут отсортированы, и следующие целые числа являются целыми числами, которые должны быть отсортированы.Я не понимаю, как fgets и sscanf работают вместе.Может кто-нибудь объяснить, как fgets и sscanf работают в этом коде?
FILE *finput;
int *array_int, c1, no_elem;
char numlines[500];
fgets(numlines, 500, finput);
array_int = (int *)malloc(sizeof(int)*no_elem);
if ((sscanf(numlines, "%d", &no_elem) == 1) && array_int!= NULL)
{
for(c1=0; fgets(numlines, 500, finput) != NULL; )
{
if (sscanf(numlines, "%d", &array_int[c1])==1)
{
++c1;
}
}
}