问题 单项选择题

设有如下定义:
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));

答案

参考答案:B

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

选择题
判断题