民國108年 第2梯次 電腦軟體設計(C++)乙級 學科
第37題
依據C++以下之變數宣告,欲將num 值加1,下列敘述何者正確?
題目
依據C++以下之變數宣告,欲將num 值加1,下列敘述何者正確?
- (1) p++;
- (2) (*p)++;
- (3) (&num)++;
- (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 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。