若有定义struct {
int k;
char s[30];
} a[5] = {1, "ABC", 2, "abc"}, *p = a;那么表达式 *(p++)->s的值是
A. 'A'
B. "abc"
C. 'a'
D. "ABC"
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'