gpt4 book ai didi

c++ - for循环中的多个条件用于Cpp中的单个循环

转载 作者:行者123 更新时间:2023-12-02 10:03:27 34 4
gpt4 key购买 nike

当我引用 C++ MCQ 时,我通过了这个代码片段。以前我只使用 && 或 ||用于组合多个条件,但此代码使用 ',' :

using namespace std; 
int main()
{
int i;
for (i = 0; i < 0, 5; i++)
printf("%d ", i);
return 0;
}

对此的正式回答是无限循环。 请有人建议使用此代码段如何评估条件

最佳答案

您的 for 循环条件中有一个逗号运算符。 comma operator计算其第一个操作数并丢弃结果,然后计算第二个操作数并返回此值(和类型)。逗号运算符也是所有 C/C++ 运算符中最低的优先级,这意味着它始终是绑定(bind)到表达式的最后一个。

所以你的 for 循环中的条件相当于:

(i < 0), 5

此表达式的结果始终为 5,而不是 0(假)。因此,条件始终为真。

如果你最终让循环运行足够长的时间 i ,这是一个有符号整数,将溢出。这会导致未定义的行为(感谢 @Jarod42)。

关于c++ - for循环中的多个条件用于Cpp中的单个循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61401132/

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