C ++条件语句(正确的语法)

时间:2014-02-20 20:23:36

标签: java c++ arduino

if (a && b)if ( (a) && (b) )相同吗?如果没有,两者之间有什么区别?

2 个答案:

答案 0 :(得分:0)

在这种情况下,两者都是相同的。

答案 1 :(得分:0)

一般情况下,它们不一样。

我们假设a和b是一些表达式。例如,a是表达式x += zb是单个变量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