Examly題庫立即開始練習
普考-資訊處理計算機概要10831單選題

在 UNIX 系統中,有一程式如下所示。假設此程式執行時,其父程序識別碼(Parent Process ID)是 516,子程序識別碼(Child Process ID)是 517。下列何者為此程式執行之可能輸出結果? #include <sys/types.h> #include <stdio.h> #include <unistd.h> int i,j; main() { j=1; i=fork(); if (i<0) { printf("Error!\n"); } if (i) { j++; } else { j--; } printf("i=%d, j=%d\n",i,j); }

Ai=516, j=2 i=0, j=0
Bi=517, j=2 i=0, j=0正確答案
Ci=516, j=0 i=0, j=2
Di=517, j=2 i=516, j=2
答案與詳解
B
正確答案
fork() 在父程序回傳子PID(517),在子程序回傳0;父 j++ 變 2,子 j-- 變 0。

為什麼答案是 B

父程序:fork() 回傳子PID=517,i=517 為真 → j++ → j=2,輸出 i=517,j=2;子程序:fork() 回傳 0,i=0 為假 → j-- → j=0,輸出 i=0,j=0。完全正確。

考點:fork 回傳值混淆考點:fork 標準行為考點:判斷方向錯誤考點:子程序 i 應為 0
載入中…

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

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

Download on theApp Store即將推出Google Play
黑皮