visual-c++ - 在测试表达式中使用逗号运算符会导致左侧参数在没有副作用时被忽略
问题描述
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
有人知道这个警告是什么吗?
解决方案
带有逗号运算符的表达式返回第二部分的值(i <= n
在您的情况下)。第一部分的值被忽略。
在此处阅读有关逗号运算符的信息:
https ://en.wikipedia.org/wiki/Comma_operator
如果i < c && i <= n
您希望两个条件都为真(或其他运算符,具体取决于您的任务),请使用。
推荐阅读
- reactjs - 如何使用海量数据对 React 应用程序进行 Dockerize
- c# - 当多人尝试保存事务时,用户 ID 将变为空到数据库
- java - 删除 Netpune Gremlin 会话查询
- spring-boot - 赋值不是表达式,在这个上下文中只允许表达式 kotllin 错误
- c++ - 使用元函数的多个向量的向量积
- web-scraping - 消息:没有这样的元素:无法找到元素:{"method":"xpath","selector":"//span[@class='_33O9dg0j']"}(会话信息:chrome=94.0.4606.71)
- excel - 查找数据透视字段未正确返回
- ios - 如何防止用户在 PHPickerViewController 中选择 GIF?
- sql - 将 XML 列从 SQL Server 中的另一个表转储到具有正确表架构的表中
- mysql - 如何制作安全的查询构建器并防止 sql 注入