浸 衫 2021-12-09 16:05 采纳率: 66.7%
浏览 28
已结题

请看一下这个函数为什么不能完整执行

void input()
{
int i, j, m;
printf("请输入需要统计的学员数:");
scanf_s("%d", &m);
system("cls");
for (i = 0; i < m; i++)
{
printf("请输入学生学号:");
scanf_s("%s", &stu[i].num);
getchar();
printf("请输入学生姓名:");
scanf_s("%s", &stu[i].name);
getchar();
printf("请输入学生平时成绩:");
scanf_s("%f", &stu[i].normalscore);
getchar();
printf("请输入学生期末成绩:");
scanf_s("%f", &stu[i].finalscore);
getchar();
}
}
问一下为什么这个函数执行过程中只执行了一个printf和scanf就结束?

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2021-12-09 16:41
    关注

    修改如下,供参考:

    void input()
    {
        int i, j, m;
        printf("请输入需要统计的学员数:");
        scanf_s("%d", &m);
        system("cls");
        for (i = 0; i < m; i++)
        {
            printf("请输入学生学号:");
            scanf_s("%s", stu[i].num, sizeof(stu[i].num)); //scanf_s("%s", &stu[i].num);
            getchar();
            printf("请输入学生姓名:");
            scanf_s("%s", stu[i].name, sizeof(stu[i].name));  //scanf_s("%s", &stu[i].name);
            getchar();
            printf("请输入学生平时成绩:");
            scanf_s("%f", &stu[i].normalscore);
            getchar();
            printf("请输入学生期末成绩:");
            scanf_s("%f", &stu[i].finalscore);
            getchar();
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月17日
  • 已采纳回答 12月9日
  • 创建了问题 12月9日