民國108年 第2梯次 電腦軟體設計(C++)乙級 學科

第37題

依據C++以下之變數宣告,欲將num 值加1,下列敘述何者正確?

題目

依據C++以下之變數宣告,欲將num 值加1,下列敘述何者正確?

  1. (1) p++;
  2. (2) (*p)++;
  3. (3) (&num)++;
  4. (4) (*num)++;

官方答案

(2) (*p)++;

解析

假設 int num; int *p = #。要將 num 的值加 1,必須先透過 *p 取值(dereference)得到 num,再以 (*p)++ 對該整數加 1,故選項2正確。選項1 p++ 是讓指標 p 往後移動一個 int 位置(p 指向 num 之後的記憶體),改變的是指標本身而非 num;選項3 (&num)++ 中 &num 是右值(位址常數),不能對其遞增;選項4 (*num)++ 試圖對 int 變數 num 取值,語法錯誤,因為 num 不是指標。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料