Я смущен одним аспектом функции C fork.Системный вызов C fork неявным образом выполнен
Если я это сделать:
int pid;
if (pid = !fork()) {
//some code
} else {
printf("%d\n","Waiting for child");
wait(&pid);
}
return 0;
Вилка будет выполняться неявно или иначе, но я не могу понять, что. Как я вижу, такие вещи, как это общие идиомы в C:
int fn;
while (fn = someFunction()) {
//doSomething
}
Последний пример не связан с вилкой, но у него есть, что неявная часть (условие), который я не понимаю.
Спасибо.
На самом деле, поскольку в этом примере указано 'if (pid =! Fork())', 'pid' не будет иметь возвращаемого значения' fork() '. Он будет равен «0» в родительском и «1» в дочернем. –