民國106年 第2梯次 電腦軟體設計丙級 學科

第69題

在C 程式中,假設字串 A = " 123 " , 字串 B = " 4567 " ,則s t r l e n ( s t r c p y ( B , A )…

題目

在C 程式中,假設字串 A = " 123 " , 字串 B = " 4567 " ,則s t r l e n ( s t r c p y ( B , A ) ) 之值為何?

  1. (1) 4
  2. (2) 123
  3. (3) 3
  4. (4) 4567

官方答案

(3) 3

解析

strcpy(B, A) 會將字串 A 的內容(含結尾的 '\0')複製到 B 所指的記憶體,並回傳 B 的起始位址;因此後續 strlen 計算的是複製後 B 的內容。A 為 "123",共 3 個字元,故 strlen 回傳 3。選項 4 是 B 被覆寫前的原始長度,並非複製後的結果;選項 2 的 123 是字串內容而非長度;選項 1 的 4 也不是本題的計算結果。

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

官方資料