首页 > 解决方案 > 在测试表达式中使用逗号运算符会导致左侧参数在没有副作用时被忽略

问题描述

for当我在 C++ 中为循环定义 2 个条件时,我收到了该警告。这是代码

int a;
cin >> a;
int n;
cin >> n;
int b = pow(10, a - 1), c = pow(10, a - 1) * 1.2;
for (int i = b; i < c, i <= n; i++)
     //do sth

有人知道这个警告是什么吗?

标签: visual-c++

解决方案


带有逗号运算符的表达式返回第二部分的值(i <= n在您的情况下)。第一部分的值被忽略。
在此处阅读有关逗号运算符的信息:
https ://en.wikipedia.org/wiki/Comma_o​​perator

如果i < c && i <= n您希望两个条件都为真(或其他运算符,具体取决于您的任务),请使用。


推荐阅读