Q.如以下代碼,我知道第一個(--dd)[2]為什麼是得34,但是第二個(--dd)[1]為什麼會是8而不是27呢?
還有最後一個--dd++[-7],我實在不知道是怎麼得到11的,我知道我問了很愚蠢的問題,但是希望大神們幫幫我QQ 萬分感謝!!!!
輸入代碼:
double * dd;
double data[4][4] = { {5,4,12,17},{9,10,31,21},{7,14,12,8},{27,34,42,18} };
dd = data[3];
cout << (--dd)[2] << endl;
cout << (--dd)[1] << endl;
cout << (--dd)[1] << endl;
cout << --dd++[-7] << endl;
輸出結果:
34
8
12
11
dd = data[3]
指针指向 27
(--dd)) 指向 8 [2] 指向 34
再(--dd) 指向12 [1] 指向 8
再(--dd) 指向14 [1] 指向 12
++ 不用管 dd[-7] 指向 12 再做一次 -- 等于 11