1. 若有定义int w[3][5];则以下不能正确表示该数组元素的表达式是:
(A)*(&w[0][0]+1) (B)*(*W+3) (C)*(*(W+1)) (D)*(W+1)[4]
====参考答案是D,求大侠指教为何呢?*(W+1)[4]等价于w[1][4]元素吧?个人觉得(C)*(*(W+1))—这个有问题吧??
2.设有以下说明和语句:inta[3][4],(*p)[4];p=a;则与表达式*(*p+2)等价的选项是:
(A)a[0][2]__ (B)*(a+2)[0] (C)(*a+2)[0] (D)a[2][0]_
=====参考答案说:*(a+2)[0]这个等价于a[3][0],这个答案跟第一题的类似吧,说明第一题的D答案不对吧??
另外(*a+2)[0]===这个等价于a[0][2],这对吗?感觉表达式有问题吧??求教
[ ] 的优先级高啊!第二个问题之所以没问题 是因为 [0] 和 * 是等价的 谁先,答案都一样 但是 *(a+2)[1]等价于a[3][1]?
[ ] 的优先级高啊!第二个问题之所以没问题 是因为 [0] 和 * 是等价的 谁先,答案都一样 但是 *(a+2)[1]等价于a[3][1]?