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

C++ Conditional Statement (Correct Syntax)

本文关键字:语法 条件 语句 C++      更新时间:2023-10-16

if (a && b)if ( (a) && (b) )一样吗?如果不是,两者之间有什么区别?

一般来说,

它们是不一样的。

让我们假设 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

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