数组不能“整体赋值”,s1[0].score={10,10};等写法属于“整体”为成员score的两个元素赋值,是非法的。但可以整体初始化,把第一句改成struct student s1[2]={{10,10},{20,20}};,把后面两行删除就可以了。
不能这样给数组赋值吧, 除非是定义的时候
楼上说得对,不能这样赋值。
应该写成:
s[0].score[0] = 10;
s[0].score[1] = 10;
s[1].score[0] = 20;
s[1].score[1] = 20;
在struct结构体最后的括号后面加stu[2]