问题 单项选择题

定义下列结构体(联合)数组: struct St { char name[15];int age; }a[10]={"ZHAO",14,"WANG",15,"LIU",16,"ZHANG",17}; 执行语句printf("%d,%c",a[2].age,*(a[3].name+2))的输出结果为( )。

A.15,A

B.16,H

C.16,A

D.17,H

答案

参考答案:C

解析: 本题主要考查结构体数组。a[2].age为结构体a[2]的age成员,即16。a[3].name为指向结构体 a[3]的name成员的第一个元素的指针,即指向“Z”,(a[3].name+2)将指针后移两位指向第三个元素“A”, *(a[3].name+2))是取指针所指向地址的内容。

填空题
填空题