if (a && b)
与if ( (a) && (b) )
相同吗?如果没有,两者之间有什么区别?
答案 0 :(得分:0)
在这种情况下,两者都是相同的。
答案 1 :(得分:0)
一般情况下,它们不一样。
我们假设a和b是一些表达式。例如,a是表达式x += z
,b
是单个变量y
现在考虑以下代码
#include <iostream>
using namespace std;
int main()
{
int x = -1;
int y = 1;
int z = 2;
// x += z corresponds to a
// y corresponds to b
if ( x += z && y ) std::cout << "( x += z && y ) is equal to true" << std::endl;
else std::cout << "( x += z && y ) is equal to false" << std::endl;
x = -1;
if ( ( x += z ) && ( y ) ) std::cout << "( ( x += z ) && ( y ) ) is equal to true" << std::endl;
else std::cout << "( ( x += z ) && ( y ) ) is equal to false" << std::endl;
return 0;
}
输出
( x += z && y ) is equal to false
( ( x += z ) && ( y ) ) is equal to true