gpt4 book ai didi

c - 没有控制语句的逻辑比较运算符

转载 作者:行者123 更新时间:2023-12-01 12:43:58 26 4
gpt4 key购买 nike

<分区>

考虑一下:

    main()
{
int i = 1;
fork(); fork(); fork();
printf("%d ",i);
}

以上代码的输出为:

1 1 1 1 1 1 1 1

也就是说,最后有 8 (2^3) 个进程到达 printf() 行。现在考虑下面的代码:

    main()
{
int i = 1;
fork() && fork() || fork();
printf("%d ",i);
}

最初,我认为输出没有变化,因为使用 &&|| 的比较结果没有被控制语句评估,例如ifwhile。也就是说,它们被丢弃了。然而,这段代码的输出是:

1 1 1 1 1

意思是,最后有 5 个进程到达 printf() 行。

我的问题:这条线是做什么的

 fork() && fork()||fork();

当然,有些东西已经改变了。我从来没有考虑过使用像 &&|| 这样的比较运算符而不用像 ifwhile 这样的控制语句来评估比较的结果,并相应地采取一些行动。我想,如果没有这些控制结构,比较运算符就毫无意义;他们会简单地返回 10,而不做任何处理。

显然,我错了,我完全不知道运算符的这种用法。

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