[問題] 陣列小問題
請問各位先進, 若int a[5] ={1,2,3,4,5};
則求printf("%x\n", &a+1 );
output將印出多少
這是我在網路上找到的c語言問題, 我原以為答案會是陣列a開頭位址的數字+1
結果發現似乎不是
以下是我測試的結果:
int main(){
int a[5] ={1,2,3,4,5};
printf("%x\n", &a);
printf("%x\n", &(a[1]));
printf("%x\n", &a+1 );
return 0;
}
output結果為:
22ff50
22ff54
22ff64
而我原本以為第三行答案會是22ff51, 或至少是22ff54(往後移一個指標的位址)
結果都不是^^"
麻煩各位先進解答或糾正我的觀念了, 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.220.155
→
02/04 02:00, , 1F
02/04 02:00, 1F
→
02/04 02:01, , 2F
02/04 02:01, 2F
→
02/04 02:02, , 3F
02/04 02:02, 3F
→
02/04 02:07, , 4F
02/04 02:07, 4F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章