结构体与数组指针问题,答案是A,求解答

‌若有定义struct {
int k; 
char s[30]; 

} a[5] = {1, "ABC", 2, "abc"}, *p = a;那么表达式 *(p++)->s的值是

A. 'A'

B. "abc"

C. 'a'

D. "ABC"

a[5] = {1, "ABC", 2, "abc"}相当于初始化了前两个结构元素
看一下 *(p++)->s,由于是p++,因此++要等表达式及算完以后,p地址才加1,因此相当于 * p->s,由于->优先级高于 ,因此相当于 (p->s),由于p->s是字符串"ABC",那么 * 取值就是字符串的第一个字符‘A'