Law*_*ong 2 c compiler-errors structure
这是我第一次在结构中使用结构.编译程序时遇到此错误.错误:字段'结果'的类型不完整.
错误是指这行代码. - > struct result_t results;
有什么帮助吗?:) 谢谢.
typedef struct {
char moduleCode[8];
char grade[3];
} result_t;
typedef struct {
char name[31];
struct result_t results;
} student_t;
Run Code Online (Sandbox Code Playgroud)
编辑:
我改变了我的代码:
typedef struct {
char moduleCode[8];
char grade[3];
} result_t;
typedef struct {
char name[31];
result_t results;
} student_t;
Run Code Online (Sandbox Code Playgroud)
我收到了一个新的编译错误.错误:下标值既不是数组也不是指针.
触发该错误的代码行如下.printf("% - 7s%-2s%d \n",student.results [i] .module_code,student.results [i] .grade,student.results [i] .mc);
小智 6
结果不是数组.你应该改变结构学生:
typedef struct {
char name[31];
result_t results[MAX_NUM_RESULTS];
} student_t;
Run Code Online (Sandbox Code Playgroud)
或者将printf更改为:
printf(" %-7s %-2s %d\n", student.results.module_code, student.results.grade, student.results.mc);
Run Code Online (Sandbox Code Playgroud)
这取决于一个学生可能有多少可能的结果.