gpt4 book ai didi

c - 有关 for 循环的更多信息

转载 作者:太空宇宙 更新时间:2023-11-04 05:27:15 25 4
gpt4 key购买 nike

我正在测试一些代码,我发现了一件奇怪的事情:

#include<stdio.h>
void main()
{int m,n;
for(m=0, n=0; m<0,n<4; m++,n++)
printf("hello\n");
}

我的猜测是它不会打印,因为条件 m<0不满意。但我对此感到震惊:

输出

hello
hello
hello
hello

谁能解释一下这个结果。为什么没有 m<0条件得到评估?

最佳答案

在 C(和许多其他语言)中,逗号运算符是一个二元运算符,它计算第一个操作数并丢弃结果,然后计算第二个操作数并返回第二个操作数的结果。

所以 cond1, cond2 评估两个条件,但只有 cond2 重要。

如果您希望两个条件都满足,请使用cond1 && cond2。所以

for(m=0, n=0; m<0 && n<4; m++,n++)

关于c - 有关 for 循环的更多信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20587104/

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