民國107年 第2梯次 電腦軟體設計(C++)乙級 學科
第9題
依據C++以下之變數宣告,下列之用法何者錯誤?
題目
依據C++以下之變數宣告,下列之用法何者錯誤?
- (1) p=q ;
- (2) *p=56 ;
- (3) p =x;
- (4) *p =*q;
官方答案
(3) p =x;
解析
若宣告為 int x; int *p, *q;,則 p、q 是指向 int 的指標。p=q 是把位址指定給另一個同型別指標,合法;*p=56 是透過指標把 56 存入它所指向的整數,合法;*p=*q 是把 q 所指的值複製到 p 所指的位置,合法。p=x 則是把整數值直接指定給指標變數,int 與 int* 型別不相容,編譯會產生錯誤;若要讓 p 指向 x,必須寫成 p=&x,取得 x 的位址後再指定。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。