C语言结构体问题,如图?

我给成员变量也定义了数组,请问为什么运行的时候出错了?
2025-05-18 12:57:36
推荐回答(4个)
回答1:

数组不能“整体赋值”,s1[0].score={10,10};等写法属于“整体”为成员score的两个元素赋值,是非法的。但可以整体初始化,把第一句改成struct student s1[2]={{10,10},{20,20}};,把后面两行删除就可以了。

回答2:

不能这样给数组赋值吧, 除非是定义的时候

回答3:

楼上说得对,不能这样赋值。
应该写成:
s[0].score[0] = 10;
s[0].score[1] = 10;
s[1].score[0] = 20;
s[1].score[1] = 20;

回答4:

在struct结构体最后的括号后面加stu[2]