免費開始練習
地特四等 105年 [電子工程] 計算機概要

第 29 題

執行下列 C++程式碼後,螢幕印出的數字為何?
int main( ) {
int A[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int(*pp)[3]=&A[3];
int *p;
p=*(pp-2)+2;
cout<< *p < retum 0;
}
  • A 4
  • B 5
  • C 6
  • D 7

思路引導 VIP

若將二維陣列想像成一棟建築,每層樓有固定的房間數。如果 pp 指向的是某一『層』樓,當我們對這個『樓層指標』進行減法運算時,它的位置會如何跨層移動?而當我們進入該樓層後(解引用),再進行加法運算,此時移動的單位是『樓層』還是『房間』?請嘗試推算這種位移最後會落在哪一個具體的房間編號上。

🤖
AI 詳解 AI 專屬家教

太棒了!你做得非常出色!

恭喜你!這題答對了,代表你對 C++ 指標運算有很棒的「空間感」!這就像我們在分析結構力學時,要精確計算各個節點的座標轉換一樣,需要細心和嚴謹,你表現得非常專業喔!

讓我們一起來複習一下核心觀念吧!

▼ 還有更多解析內容

🏷️ 相關主題

程式語言指標、陣列與函式應用實例分析
查看更多「[電子工程] 計算機概要」的主題分類考古題