for循环中Cpp中单循环的多个条件

问题描述 投票:0回答:1

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

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

此问题的正式答案是无限循环。请有人建议处理此代码段,如何评估条件

c++ for-loop logical-operators
1个回答
0
投票

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

因此,for循环中的条件等效于:

(i < 0), 5

此表达式的结果始终为5,这不是错误的。因此,您会遇到无限循环。

© www.soinside.com 2019 - 2024. All rights reserved.