阿摩線上測驗 登入

申論題資訊

試卷:99年 - 099年警察人員及99年交通事業鐵路人員員級_資訊處理#34123
科目:程式設計
年份:99年
排序:0

題組內容

四、回答下列問題:(每小題 5 分,共 25 分)

申論題內容

⑸請問執行下列程式之結果為何?

void abc();
void main() {
for (int i = 0; i < 5; i++)
abc();
}
void abc() {
static int num = 0;
cout << num;
num++;
}

詳解 (共 1 筆)

詳解 提供者:hchungw
 在這個程式中,abc()函數被定義為包含一個靜態區域變數num,其初始值為0。靜態區域變數的特點是它們在函數首次被調用時初始化,並且它們的值在函式呼叫之間保持不變,直到程式結束。每次調用abc()時,都會輸出當前的num值,然後num的值增加1。
程式主體是一個迴圈,迴圈5次調用abc()函數。因此,每次調用abc()時,都會輸出變數num的當前值,然後增加num的值。
因此,執行上述程式的結果將是連續輸出變數num的值,從0開始,每次增加1,直到4。所以,輸出結果將是:
Copy code
01234
這意味著第一次調用abc()時,num被初始化為0並列印出來;然後,在每次後續調用中,num的值分別增加到1、2、3、4,並在每次調用時列印出來。