我尝试获取并打印一些结构值。这是我的循环块:
for(int i = 0; i < COURSE_LIMIT; i++)
{
printf("Enter the course name: ");
fgets(studentProfile.courses[i].course_name, COURSE_NAME, stdin);
printf("Enter the quota: ");
scanf("%d", studentProfile.courses[i].quota);
}//get loop
for(int j = 0; j < COURSE_LIMIT; j++)
{
printf("\nyour %d. course name is: %s",j+1, studentProfile.courses[j].course_name);
printf("Your %c. course quota is: %d", j + 1, studentProfile.courses[j].quota);
}//print loop
当我尝试单独进行操作时,可以。但是,当我尝试从同一个循环中获取输入时,出现了分段错误。
答案 0 :(得分:-1)
scanf将其参数用作指向您从stdin读取的值的指针。 检查您从中读到的内容:
scanf("%d", studentProfile.courses[i].quota);
对于一般解释:
scanf("%d", &i);