若已定义:int a[5],*p=a; 无法引用数组元素a[3]的是( )。 A、*p+3 B、p[3] C、*(p+3) D、*(&p[0]+3)

若已定义:int a[5],*p=a; 无法引用数组元素a[3]的是( )。
A、*p+3 B、p[3]
C、*(p+3) D、*(&p[0]+3)

A无法引用a[3],所以选A——因为*p是第一个元素的值即a[0],所以*p+3是a[0]+3而不是a[3]。其余B:p[3]肯定是a[3]没错;C:*(p+3)把p换成a就是*(a+3),这和a[3]等价;D:&p[0]就是p,参照C选项一模一样了!
温馨提示:答案为网友推荐,仅供参考
相似回答