【发布时间】:2012-02-05 10:59:01
【问题描述】:
这是我的代码。
#include <stdio.h>
#include <stdlib.h>
int main ( int argc, char *argv[] )
{
int i, pid;
for(i = 0; i < atoi(argv[1]); i++) {
pid = fork();
if(pid < 0) {
printf("Error");
exit(1);
} else if (pid == 0) {
printf("Child (%d): %d\n", i + 1, getpid());
exit(0);
} else {
wait(NULL);
}
}
}
输出是这样的。
Child (1): 5676
Child (2): 4624
Child (3): 4800
Child (4): 5596
Child (5): 5580
但这不是我作业中的预期输出。 应该是这样的。代码有什么问题?有人可以帮我吗?
Child (2): 4625
Child (1): 4624
Child (3): 4626
Child (4): 4627
Child (5): 4628
感谢您的帮助。现在我试试看。
附:对不起,我的英语不好。我希望你能明白我所说的。
【问题讨论】: