-4
我有這個代碼有兩個孩子和他的父親,但有一個問題,因爲所有的孩子(和父親執行主代碼)。爲什麼所有的孩子都執行主代碼?
代碼:
int main() {
switch (fork()) {
case 0: //child1
break;
default:
switch (fork()) {
case 0: //child2
break;
default: //father
break;
}
}
printf("hi\n");
}
輸出:
hi
hi
hi
看起來對我來說是正確的行爲。 – aragaer
因爲這就是它的原理! –
我不確定你爲什麼期望有什麼不同......你對「fork」是如何工作感到困惑嗎?你對「break」是如何工作感到困惑嗎?你對_control flow_的工作原理感到困惑嗎? – Siguza