打印结构值麻烦

时间:2019-03-21 07:09:39

标签: c arrays loops struct nested

我尝试获取并打印一些结构值。这是我的循环块:

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

当我尝试单独进行操作时,可以。但是,当我尝试从同一个循环中获取输入时,出现了分段错误。

1 个答案:

答案 0 :(得分:-1)

scanf将其参数用作指向您从stdin读取的值的指针。 检查您从中读到的内容:

scanf("%d", studentProfile.courses[i].quota);

对于一般解释:

scanf("%d", &i);