im реализует программу, которая считывает идентификатор и имена учеников из stdin или файла и делает их упорядоченными по имени и упорядочивается по числу. Самое смешное, что я не могу понять, почему, но scanf не работает. Вот мой код, используя зсапЕ:scanf не работает
int n=0;
while(n<SIZE){
scanf("%d %s\n",&std_array[n].id, std_array[n].name);
n++;
}
for(int i=0; i<SIZE; i++)
printf("%d %s\n",std_array[i].id,std_array[i].name);
и вот моя структура:
struct Student {
char *name;
int id;};
, когда я прочитал из файла и распечатать их из положить является:
> 12586546 (null) 0 (null) 0 (null) 0 (null) 0 (null) 0 (null) 0 (null)
> 0 (null) 0 (null) 0 (null)
хотя файл имеют некоторые номера и имена, такие как 21456764 john 45797654 fred и т. д., его не читают успешно.
Примечание: я знаю, как фиксируют структуру нравится вам, ребята, предложенные, но я должен узнать, как сделать это с указателем полукокса ...
Это действительно работает – qrdl
Вы всегда должны проверять количество элементов результата 'scanf' –