Uni Quiz Answers 告诉我: 多个关系表达式不能放在for循环的测试条件中。
我已编译并运行以下代码:
int main()
{
for(int i=1;6<i<10;i++)
cout << "hi\n";
cin.get();
return 0;
}
和:
int main()
{
for(int i=1, j=1; i<10 && j<10; i++,j+=i)
cout << "hi\n";
cin.get();
return 0;
}
和:
int main()
{
for(int i=1, j=1; i<10, j<5; i++,j++)
cout << "hi\n";
cin.get();
return 0;
}
它们都以预期的输出编译和运行。
在第一个示例中,“6 小于 i”的计算结果为 0,“0 小于 10”的计算结果为 1, 导致无限循环,但它绝对是合法的代码,没有 编译器错误。
干杯, 史蒂夫
最佳答案
线
for(int i=1, j=1; i<10, j<5; i++,j++)
cout << "hi\n";
与
相同for(int i=1, j=1; j<5; i++,j++)
cout << "hi\n";
因为 i<10
没有副作用.
语句的值i<10, j<5;
是 j<5;
的值.
关于c++ - 一个for循环的测试条件可以放多个关系表达式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19517008/