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]?