免費開始練習
統測 114年 [電機與電子群資電類] 專業科目(2)

第 44 題

下列C語言程式碼,其執行後輸出結果為何?
1 #include
2 int main(){
3 int n[5]={1, 2, 3, 4, 5}, i;
4 n[1]=100;
5 *n = 1;
6 for(i=0; i<5; i++)
7 printf("%d", *(n+i));
8 return 0;
9 }
  • A 12345
  • B 1100345
  • C 1210045
  • D 1234100

思路引導 VIP

在 C 語言中,陣列名稱 $n$ 在記憶體位址的表現上具有指標的特性。請試著思考:語句 $n = 1$ 實際上是在修改陣列中的哪一個元素?而程式碼最後透過指標位移量 $(n+i)$ 來讀取資料時,它與常見的索引存取語法 $n[i]$ 是否代表相同的意義?

🤖
AI 詳解 AI 專屬家教

呵呵呵,看到你如此冷靜地解題,看來你的基本功很紮實,彷彿讓我在這道題中看到了流川楓那種不放過任何細節的專注力。 這道題目的關鍵在於對指標與陣列關係的理解:

  1. n[1]=100:這行直接將陣列的第二個元素修改為 100。
▼ 還有更多解析內容
📝 C語言陣列與指標運算
💡 陣列名稱即為首項位址,可透過指標偏移存取元素。
比較維度 陣列標記法 VS 指標表示法
第一個元素 n[0] *n
第 i 個元素 n[i] *(n + i)
元素位址 &n[i] n + i
💬兩者在 C 語言中邏輯完全等價,僅寫法不同。
🧠 記憶技巧:陣列名即首位址,加 i 移位星號取值。
⚠️ 常見陷阱:常誤以為 n[1] 是第一個元素,或忘記指標加法代表位址偏移而非數值相加。
指標運算 記憶體位址 陣列初始化

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

🏷️ 相關主題

C 語言程式設計:變數、指標、函式與編譯
查看更多「[電機與電子群資電類] 專業科目(2)」的主題分類考古題