选择题
设有以下程序段:
struct person
{ char name[10];
char sex;
float weight;
}zhangsan, *ptr;
ptr=&zhangsan;
若要从键盘读入姓名给结构体变量zhangsan的name成员,输入项错误的是______。
A、
scanf('%s',zhangsan->name);
B、
scanf('%s',zhangsan.name);
C、
scanf('%s',ptr->name);
D、
scanf('%s',(*ptr).name);
【正确答案】
A
【答案解析】
可用以下三种形式来引用结构体变量中的成员:结构体变量名.成员名;指针变量名->成员名;(*指针变量名).成员名。程序定义了一个结构体变量zhangsan,一个结构体指针ptr,并且使指针指向变量zhangsan。选项A中zhangsan为结构体变量名,不能用“->”引用其成员,选项A错。zhangsan.name、ptr->name、(*ptr).name均是正确的引用结构体变量成员的方式,选项B、C、D正确。
提交答案
关闭