首页 > 解决方案 > 访问嵌套结构的元素

问题描述

当我执行以下代码时,我收到此行的错误消息scanf("%s",A.(T+i)->CNE)

错误信息 : expected identifier before '(' token|

我能知道是什么问题吗?提前致谢。

typedef struct date
{
    int day;
    int month;
    int year;
}date;
typedef struct Student
{
    char CNE[10];
    char FirstName[30];
    char LastName[30];
    date BD;
    float Grades[6];
}Student;
typedef struct Class
{
    Student T[1500];
    int dim;
}Class;
Class input(Class A)
{
    int i=A.dim;
    printf("Enter the student CNE : ");
    scanf("%s",A.(T+i)->CNE);
}

标签: cdata-structuresstructcompiler-errorsmember-access

解决方案


(T+i)不是结构的成员Class,所以不能使用A.(T+i)

似乎A.(T+i)->CNE应该是A.T[i].CNE

A此外,从函数返回时丢弃修改后的内容也很可疑input。看来你忘记写了return A;


推荐阅读