Предполага се, че този код получава цели числа от файл, който е 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;
}
}
}