设有如下定义: struct ss { char name[10] int age; char sex; } std[3],*p=std; 下面各输入语句中错误的是( )。

admin2009-01-15  31

问题 设有如下定义:    struct ss    { char name[10]      int  age;      char  sex;    } std[3],*p=std;   下面各输入语句中错误的是(  )。

选项 A、scanf("%d",&(*p).age);
B、scanf("%st",&std.name);
C、scanf("%c",&std[0].sex);
D、scanf("%c",&(p->sex));

答案2

解析 选项A中“&(*p).age”代表的是std[0].age的地址,是正确的,选项C也是正确的,选项D先用指针变量引用结构型的成员sex,然后取它的地址,也是正确的,选项B中的“std.name”是错误的引用,因为std是数组名,代表的是数组的首地址,地址没有成员“name”。所以B选项为所选。
转载请注明原文地址:https://jikaoti.com/ti/rTK0FFFM
0

最新回复(0)