void average(){ for(int i=0;i<5;i++){ float sum=0; for(int j=0;j<3;j++){ sum += stu[i].score[j]; } stu[i].average = sum / 3; } }详细分析该程序
时间: 2023-05-27 20:07:26 浏览: 73
PTA-训练语法:指针
该程序有一个函数average,没有参数和返回值,目的是计算5个学生的3门课程成绩的平均分,并将平均分存储在每个学生的结构体变量stu[i]的average成员中。
函数中有两个循环嵌套,外层循环控制每个学生的结构体变量stu[i],内层循环控制每个学生的3门课程成绩。
在内层循环中,将每个学生的3门课程成绩累加到变量sum中,然后计算平均分存储在stu[i]的average成员中。
需要注意的是,在内层循环中,没有对变量j进行递增操作,导致内层循环会一直执行下去,导致死循环。正确的写法应该是在内层循环中加上j++的递增操作。
此外,变量i和j在循环内部没有进行初始化赋值操作,因此需要在循环之前进行初始化赋值。
阅读全文