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

第44題

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

題目

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

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

官方答案

(4) p = * s ;

解析

char s[5][6] 是二維字元陣列,s 在運算式中會衰減為指向一列(char[6])的指標,型別為 char (*)[6];*s 等同 s[0],取得第一個一維陣列,會再衰減為 char*,因此可指定給 char *p。第1項 s[0][0] 是單一字元 char,不能指定給指標;第2項 s[2][4] 同樣是 char;第3項 p=s 型別為 char (*)[6] 與 char* 不相容。故選第4項。

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

官方資料