在c++中使用关系运算符
Using relational operators in C++
我只是学习c++编程,我的问题是,我试图比较多个变量,不工作。我输入的是:if ( a > b > c)
.
它不是这样工作的,因为第一个表达式a > b
计算为布尔值,根据其真值将其转换为0
或1
(由于与c
的比较)。然后尝试将其与c
进行比较,这不是您想要的。使用
if ( (a > b) && (b > c) )
。这样计算两个布尔值的逻辑AND
,如果都是true
,则数学语句a > b > c
为真(通过传递性)。
如果在所有警告都打开的情况下编译,编译器(可能)会警告你。至少g++在说:
警告:像'X<=Y<=Z'这样的比较没有它们的数学意义[-Wparentheses]
必须通过AND(&&)操作符
分隔两个条件if ( (a>b) && (b > c) ){
//code
}
相关文章:
- 在 c++ 中对字符串进行操作的关系运算符无法按预期工作
- 为什么在C++中使用关系运算符创建的模板函数不能对字符串正常工作?
- 当关系运算符的含义相同时,为什么结果不同?
- C++使用关系运算符比较字符串
- 阐明关系运算符重载的概念(需要调试帮助)
- 迭代器关系运算符出错(带单独链接和迭代器的自定义哈希表)
- C++使用 shared_ptr 但调用了对象的关系运算符?
- C++ 字符 - 关系运算符
- 使用关系运算符比较指针意味着什么
- C++ 如何重载关系运算符以检查两个对象是否相同
- 枚举类的关系运算符重载
- C++ STL 关系运算符如何比较堆栈
- 为什么指针类型的内置关系运算符不生成C++的总顺序?
- 字符串类关系运算符重载
- 与关系运算符的字符串比较(长度不同)
- 对于C++字符串最好使用比较方法或关系运算符
- 用Spirit Qi解析c风格的关系运算符
- 链接器错误:模板关系运算符
- c++中重载二元关系运算符的正确方法
- 这个关系运算符的UML格式是怎样的?