-4
我想獲得這個程序的輸出,但它似乎有所不同,這取決於我運行它的環境。獲取不同的C程序輸出?這個程序輸出什麼?
Is is ABCADEABC or ABCABCADE or ABCADE or EABCDBC or EABCCD?
我相信我應該得到ABCABCADE,但我想知道爲什麼我得到不同的結果,當他們是相同的代碼?
我應該得到什麼?
#include <stdio.h>
#include <unistd.h>
#include <wait.h>
int main(void) {
int pid;
pid= fork();
if (pid == 0) {
fprintf(stdout, "A\n");
pid= fork();
if (pid==0) {
fprintf(stdout, "B\n");
pid=fork();
fprintf(stdout, "C\n");
}
else {
wait(NULL);
fprintf(stdout, "D\n");
}
}
else {
fprintf(stdout, "E\n");
wait(NULL);
}
// your code goes here
return(0);
}
請將代碼作爲可複製/粘貼的文本進行編譯和運行。發佈顯示問題的[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。清楚輸入,預期輸出和實際輸出。我們所有的是一個圖像鏈接和一些ABC華夫餅。陳述環境,在其中工作/不工作。 –
在文本中發佈代碼,而不是圖像。剪切並粘貼問題中的代碼,並通過選擇並縮進它並鍵入Alt-K – chqrlie
修復它希望 – Kyle