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

admin2013-02-23  29

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

选项 A、scanf("%d",&(*p).age);
B、scanf("%s",&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://kaotiyun.com/show/mTJp777K
0

最新回复(0)