结构体的数组问题
例如有一个结构体数组如下:
程序代码: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 编辑 ]









