[2] 下記のようにソースコードを実行してみたところ、Segmentation fault: 11と出ました。おそらくfor分からが間違っていると思われるのですが、for分を使ってファイル入力処理、標準出力処理を行うにはどうしたらいいでしょうか?
#include <stdio.h>
#include <stdlib.h>
typedef struct person {
int student_id;
char name[20];
char gender;
int point;
}STUDENT;
int main (void){
int i;
STUDENT * st = (STUDENT *) malloc(11 *sizeof(STUDENT));
FILE * fp;
if((fp=fopen("02student.txt","r"))==NULL);
for(i=0; i<10; i++){
if(fscanf(fp,"%d %s %c %d\n"
,st[i].student_id, st[i].name, st[i].gender, st[i].point));
}
for(i=0; i<10; i++){
printf("%d %s %c %d\n"
,st[i].student_id, st[i].name, st[i].gender, st[i].point);
}
fclose(fp);
free(st);
return 0;
}