民國110年 普通考試 電子工程 計算機概要

第31題

若執行以下C++程式碼片段,則變數「sentence2」的值,為下列那個字串?#include <iostream>using namespace std;in…

題目

若執行以下C++程式碼片段,則變數「sentence2」的值,為下列那個字串?#include <iostream>using namespace std;int main(){string sentence1 = "I love Taiwan" ;string sentence2 = sentence1.substr(4, 5);/* 以下省略*/} A. “ov” B. “ve” C. “ve Ta” D. “ove T”

官方答案

  • 答案:C. “ve Ta”

解析

C++ 的 substr(pos, len) 是從索引 pos 起取 len 個字元,索引由 0 起算。字串 "I love Taiwan" 的索引為 0:'I'、1:空白、2:'l'、3:'o'、4:'v'、5:'e'、6:空白、7:'T'、8:'a'。因此 substr(4, 5) 取索引 4 到 8 共五個字元,得到 "ve Ta"。A 只取到前兩個字元,等於 len 給太小;B 忽略了起始索引之後的空白與 T;D 則把起點誤判為索引 3('o'),才會得到 "ove T"。本題正確為 C。

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

官方資料

答案以考選部公告之測驗式試題標準答案 PDF 為準。