Examly題庫立即開始練習
2 類科共用卷
關務人員考試關務四等-資訊處理(選試英文)科別關務特考四等考試-資訊處理
計算機概要10419單選題

在 UNIX 環境執行以下 C 程式片段,請問 printf(j)的輸出結果為何? i=1; j=1;k=1; if((i=fork())==0) { j+=1; exit(j); } else { j+=1; wait(&k); j+=k; } printf(j); exit();

A3
B4正確答案
C5
D6
答案與詳解
B
正確答案
本題出題者誤認 wait() 會直接回傳 exit code,依出題意圖 k=2,故父行程 j=2+2=4。(注:嚴格 POSIX 標準下 wait 回傳值需經 WEXITSTATUS 處理,實際 k=512,但選項無此答案,故依出題意圖選 B)

為什麼答案是 B

fork 後父行程走 else:j=1+1=2;依出題意圖,子行程 exit(2) 使父 wait 取得 k=2;j=2+2=4。印出 4。(注:嚴格 POSIX 標準下 wait 回傳值需經 WEXITSTATUS 處理,k 應為 512,但選項無此答案,故依出題意圖選 B)

載入中…

計算機概要 相關題目

想練更多計算機概要考古題?

Examly 收錄 38 萬+ 道歷屆題目,每題都有像這樣的精選詳解。免費下載,立即開練。

黑皮