languids 2022-07-29 14:48 采纳率: 85.7%
浏览 40
已结题

关于结构体和sizeof()的运用解释

#include <stdio.h>

typedef struct
{
char *name;
int id;
unsigned int age;
char group;
float score;
} Student;

void print_students(Student stu)
{
printf("%s\t%d\t%d\t%c\t%.2f\n",
stu.name, stu.id, stu.age, stu.group, stu.score);
}

int main(int argc, char** argv)
{
Student cls[] = {
{"张三", 1001, 16, 'A', 95.50},
{"李四", 1002, 15, 'A', 90.00},
{"王五", 1003, 16, 'B', 80.50}
};

size_t i, num_stu = sizeof(cls) / sizeof(Student);
float total = 0, average = 0;
printf("=============== 学生基本信息 ===============\n");
printf("姓名\t学号\t年龄\t小组\t成绩\n");
printf("--------------------------------------------\n");
for (i = 0; i < num_stu; ++i) {
    print_students(cls[i]);
    total += cls[i].score;
}
printf("============================================\n");
average = total / num_stu;
printf("班级平均成绩:%.2f", average);

return 0;

}

函数里Student cls[] = {
{"张三", 1001, 16, 'A', 95.50},
{"李四", 1002, 15, 'A', 90.00},
{"王五", 1003, 16, 'B', 80.50}
};是什么意思?

num_stu = sizeof(cls) / sizeof(Student);
i < num_stu;
这个判断的是什么?,有什么作用吗?

  • 写回答

2条回答 默认 最新

  • 亖夕 Python领域新星创作者 2022-07-29 15:06
    关注

    函数里Student cls[] = {
    {"张三", 1001, 16, 'A', 95.50},
    {"李四", 1002, 15, 'A', 90.00},
    {"王五", 1003, 16, 'B', 80.50}
    }; 定义一个结构体并初始化
    num_stu = sizeof(cls) / sizeof(Student); 用来判断有多少名学生·
    i < num_stu 是用于for循环遍历学生成绩

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月6日
  • 已采纳回答 7月29日
  • 创建了问题 7月29日

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?