struct pupil
{char name[20];
int age; int sex;}pup[5],*p; p=pup;
A.scanf("%d",&(p->sex));
B.scanf("%d",p->age);
C.scanf("%s",pup[0].name);
D.scanf("%d",&pup[0].age)
选项都解释一下,我快要晕了!!
【A】取p指向结构单元的sex成员变量地址,写法正确,由于p是指针类型因此用->
【B】没有取地址,与A就差在这里,对于scanf输入整数来说,没有满足要求
【C】pup数组第1单元的name数组,由于输入的是字符串,给出数组名即数组起始地址,满足要求
【D】这个写法与A差不多,A中的括号并不是必须的,scanf能正确地识别要取哪个变量的地址