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