作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在为即将到来的考试复习,并遇到了这个对我来说没有意义的过去的考试问题。
考虑以下主要功能:
int main()
{
int x = 0;
cout << "x = " << x << ", (0 < x < 10) = " << (0 < x < 10) << endl;
int x = 5;
cout << "x = " << x << ", (0 < x < 10) = " << (0 < x < 10) << endl;
int x = 10;
cout << "x = " << x << ", (0 < x < 10) = " << (0 < x < 10) << endl;
return 0;
}
程序执行时打印如下:
x = 0, (0 < x < 10) = 1
x = 5, (0 < x < 10) = 1
x = 10, (0 < x < 10) = 1
准确解释发生了什么。
这就是问题所在。据我所知,输出的最后一行应该是“x = 10, (0 < x < 10) = 0”。我错过了什么?
最佳答案
你期待什么0 < x < 10
什么意思?
它不检查是否x
介于 0
之间和 10
,如果那是你的想法。
<
是二元运算符,遵循运算符求值规则(优先级和结合性)。
所以 0 < x < 10
实际上意味着 (0 < x) < 10
.您需要进行两次检查才能获得所需的结果(留给您)。
关于c++ - 考试题。关于在法庭上如何处理 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29898170/
我是一名优秀的程序员,十分优秀!