Я хочу посмотреть, какой у ученика лучшая отметка в классе. Так что я сделать это, но я не знаю, где я неправильноСбой программы при чтении первой точки данных
struct Date {
char name[31];
float mark;
};
struct Date * Read(unsigned int n,struct Date *d){
int i;
for(i=0;i<n;i++){
getchar();
fgets(d[i].name, 31, stdin);
scanf("%f",d[i].mark);
}
return d;
}
int main(){
unsigned int n;
struct Date *d;
scanf("%u",&n);
d = (struct Date*) malloc(n*sizeof(struct Date));
d=Read(n,d);
free(date);
return 0;
}
после того, как я прочитал отметку аварии программы. Может кто-нибудь помочь мне и объяснить, что изменить? Большое спасибо.
'scanf ("% f ", d [i] .mark);' -> 'scanf ("% f ", & d [i] .mark);', 'free (date);' -> 'free (d);' – BLUEPIXY
Научитесь хорошо форматировать свой код. Все, с кем вы работаете, будут благодарны вам за это. Пример: 'for (i = 0; i
Almo
Обычные подсказки: скомпилируйте все предупреждения и информацию об отладке ('gcc -Wall -Wextra -g'), затем ** используйте отладчик ** (' gdb') & [valgrind] (http://valgrind.org/). –