问题 单项选择题

定义下列结构体(联合)数组: 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成员,即160 a[3].name为指向结构体a[3]的name成员的第一个元素的指针,即指向“Z”,(a[3].name+2)将指针后移两位指向第三个元素“A”,*(a[3]).name+2))是取指针所指向地址的内容。

单项选择题
单项选择题