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

第20題

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

題目

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

  1. (1) p + + ;
  2. (2) ( * p ) + + ;
  3. (3) ( & n u m ) + + ;
  4. (4) ( * n u m ) + + ;

官方答案

(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 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料