结构数组成员的表示:为什么会报错?

img

你的写法不对,代码需要写在main函数中。而且printf中参数个数跟前面的不匹配。代码修改如下:

#include <stdio.h>
struct student 
{
    int number;
    char name[20];
    char sex;
    float score[4];
};

int main()
{
    struct student a={2101130006,"",'m',98.4,93.2,94.1};
    a.score[0]=30;
    printf("%d,%s,%c,%f,%f,%f",a.number,a.name,a.sex,a.score[0],a.score[1],a.score[2]);
    return 0;
}

因为你结构体中的数组成员初始化方式错了,没有加大括号

结构体可以在main函数外面定义,但是声明结构体变量的时候需要在函数内部进行,而且您的花开括号是不匹配的,所以会报错的~