構造体配列を用いて、入力3回、出力3回を繰り返すプログラムを作りたいのですが、
1度目のgenderの部分で止まってしまいます。nameは出力されるのに同じ形のgenderがなぜ止まるのかいまいちわかりません。
簡単な質問かもしれませんがよろしく御願いします。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct{
char name[64];
int year;
char gender[64];
}people;
void people_scan(people *data);
void people_print(people data);
int main(void){
int i;
people data[3];
for(i=0;i<3;i++){
people_scan(&data[i]);
}
for(i=0;i<3;i++){
people_print(data[i]);
}
return 0;
}
void people_scan(people *data){
printf("name\n");
scanf("%s",data->name);
printf("year\n");
scanf("%d",&data->year);
printf("gender m or f\n");
scanf("%s",data->gender);
return;
}
void people_print(people data){
printf("name = %s\n",data.name);
printf("year = %d\n",data.year);
printf("gender = %s\n",data.gender);//Thread1:breakpoint1.1
return;
}