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

第8題

對於C 程式的宣告char s[5][6]; char *p;,下列那一個正確?

題目

對於C 程式的宣告char s[5][6]; char *p;,下列那一個正確?

  1. (1) p=s;
  2. (2) p =s[2][4];
  3. (3) p=s[0][0];
  4. (4) p = *s;

官方答案

(4) p = *s;

解析

char s[5][6] 為二維字元陣列,s 在運算時退化為指向「含 6 個 char 的陣列」之指標(型別 char(*)[6])。選項 1 的 p=s 型別不符;選項 2、3 右側為單一 char 值,不能指派給 char*;選項 4 的 *s 等於 s[0],即第一列(char[6]),會退化為 char*,型別相符,指派合法。故選 4。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料