免費開始練習
地特四等申論題 106年 [資訊處理] 程式設計概要

第 一 題

一、試問以下 C++程式若輸入 believe,則輸出結果各為多少?(25 分)
#include
using namespace std;
char* POP_A(char*d){
char*p=d;
for(;*p;p++) *p=*(p+1);
return d;
}
char* POP_B(char*d){
char*p=d;
while(*p) p++;
*(p-1)=0;
return d;
}
int main(){
char d[1024];
cin>>d;
POP_A(d);
cout< POP_A(d);
cout< POP_B(d);
cout< POP_B(d);
cout< return 0;
}
📝 此題為申論題

思路引導 VIP

看到此題,應先解析自訂函式 POP_A 和 POP_B 中指標操作的具體行為,確認兩者分別實作了字串的「去頭」與「去尾」效果。接著帶入初始字串 "believe",逐步寫出每一次函式呼叫後的陣列內容即可得分。

🤖
AI 詳解 AI 專屬家教

【解題思路】先分析 POP_APOP_B 函式的指標操作機制,理解兩者分別實作了「移除字串首字元」與「移除字串尾字元」的功能,再代入輸入字串逐步追蹤變化。 【詳解】 已知:字元陣列 d 接收輸入值,初始內容為字串 "believe"。

▼ 還有更多解析內容

🏷️ 相關主題

C/C++ 程式設計:語法、指標與記憶體管理
查看更多「[資訊處理] 程式設計概要」的主題分類考古題