结构体的数组问题
例如有一个结构体数组如下:程序代码:
struct Student { int num; //学号 int chengji[4]; //四科成绩 } int main(void) { int len, t, i; struct Student * p; p = (struct Student *) malloc (len * sizeof(struct Student)); //输入数据 for(i=0; i<len; i++) { printf("请输入第 %d 个学生的信息:\n", i+1); printf("学号:"); scanf("%d", &p[i].num); printf("姓名:"); scanf("%s", p[i].name); for (t=0; t<4; t++) { printf("第 %d 科成绩:", t+1); scanf("%f", p[i].score+t); } } //输出数据 for(i=0; i<len; i++) { printf("第 %d 个学生的信息:\n", i+1); printf("学号: %d ", p[i].num); printf("姓名: %s" , p[i].name); for (t=0; t<4; t++) { printf("第 %d 科成绩: %f", t+1, *(p[i].score)[t]);//有错误 } } return 0; }
为何 *(p[i+t].score)); 不能输出 score 数组的四个值呢?
[ 本帖最后由 lixnkei 于 2010-3-16 11:08 编辑 ]