gpt4 book ai didi

在 for 循环中调用 fork()

转载 作者:行者123 更新时间:2023-11-30 21:04:02 25 4
gpt4 key购买 nike

请帮忙,这是我明天可能会遇到的面试问题:

找到输出

main()
{
int tmp;
for(i=0;i<9;i++)
{
tmp=fork();
if(tmp>0)
break;
printf(“Hello”);
}
}

最佳答案

这里的关键是 fork() 将为原始进程返回与新子进程不同的值。特别是,它将 0 返回给子进程,并将子进程的 pid 返回给原始进程。由此,您可以计算出输出。

(好吧,如果使用 puts() 而不是 printf(),但由于您没有终止这些行,这使得输出有些不确定,正如@CharlieBurns 指出的那样。)

关于在 for 循环中调用 fork(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18599673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com