如果while循环成功,则c-Printf语句将被忽略



这是我的代码:

int main(int arg, char *argv[]){
short pid;
if((pid = fork()) == 0){
printf("Child is runningn");
while(1) ;
} else {
printf("Parent is runningn");
}
}

在运行此之后;家长正在运行";已打印到控制台。如果我删除while循环,两条语句都会打印到控制台。如果子打印语句出现在while循环之前,为什么while循环会导致该语句被忽略?

在我的例子中,两个语句都在stdout上打印。我正在使用Arch Linux

[tushar@arch Desktop]$ ./main
Parent is running
Child is running

在我的情况下,while(1);被忽略,即使在删除该行输出之后,也与上面提到的相同。

在打印";家长正在运行";到stdout,您的程序退出,然后"孩子在跑步;已打印到stdout。

我建议你阅读c中的这篇文章fork((。另外使用fflush(stdout);。顺便说一句,我从未使用过minix

相关内容

  • 没有找到相关文章

最新更新