我只想用C或C++来表达:
b == c || b == d
Run Code Online (Sandbox Code Playgroud)
我可以这样做:
b == (c || d)
Run Code Online (Sandbox Code Playgroud)
并获得相同的行为?
小智 5
第一个表达式
b == c || b == d,如果给你真正b是等于或者c或d.
第二个表达式
b == (c || d)将仅检查是否b等于0或1,因为输出c || d是二进制.
考虑以下代码:
#include <iostream>
using namespace std;
int main() {
int b=10,c=9,d=10;
cout << (b ==c || b ==d )<<endl;
cout<< ( b == ( c || d)) <<endl;
d=11;
cout << (b ==c || b ==d )<<endl;
cout<< ( b == ( c || d)) <<endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出是
1
0
0
0
Run Code Online (Sandbox Code Playgroud)
现在您可以清楚地看到两个表达式都不相同.