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

第9題

依據C++以下之變數宣告,下列之用法何者錯誤?

題目

依據C++以下之變數宣告,下列之用法何者錯誤?

  1. (1) p=q ;
  2. (2) *p=56 ;
  3. (3) p =x;
  4. (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 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料