我能够读取第一个字符串(名称),并且在读取后无法输入第二个字符串的值(dept)。 我以这种方式得到输出:
学生人数:12
学生姓名?
丹尼尔王子
部门?
年龄?
struct student{
char name[100],dept[3];
int age;
};
void printBook(struct book *);
void populateBook(struct book*);
int main(){
struct student s_arr[12];
int n = sizeof(s_arr)/sizeof(s_arr[0]);
printf("No of students : %d\n",n);
for(int i = 0; i < n; i++){
fillDetails(&s_arr[i]);
}
return 0;
}
void fillDetails(struct student *temp){
printf("Student Name?\n");
scanf("%[^\n]s",temp->name);
printf("Department? \n");
scanf("%[^\n]s",temp->dept);
printf("Age?\n");
scanf("%d",&temp->age);
}