我一个接一个地读取字符串时遇到问题

时间:2019-07-05 17:58:10

标签: c

我能够读取第一个字符串(名称),并且在读取后无法输入第二个字符串的值(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);
}

0 个答案:

没有答案