问题 单项选择题

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

解析:[评析] 在C语言中,结构体变量的引用有三种等价方式:
1、结构体变量成员名;2、(*p).成员名;3、p->成员名。
因为std.name是字符数组名,本身代表地址,其前面不应该使用“&”符号,所以选项B错误。

单项选择题 A1型题
判断题