在此示例中解释变量声明和输出

时间:2016-10-12 08:15:03

标签: c++ variables declaration

我对这个例子感到困惑:

int x = 5;
if (x==5) cout << x; // output 5
if (x==6) cout << x;
if (x=6) cout << x; // output 6
x = 0;
if (x=0) cout << x;
x = 5;
if (x-5) cout << x;
if (x-6) cout << x; // output 5

我首先了解if (x==5),但为什么在x = 5时它会在if (x=6)输出6,为什么它不会在if(x=0)中输出0

2 个答案:

答案 0 :(得分:1)

if (x=6)

意味着不是比较,而是分配。您将6分配给x,表达式的返回值为6,这不是0,因此它获得了真。

if (x=0)类似表达式x = 0获得0,因此它意味着if(0)

答案 1 :(得分:1)

关于计算机的事情是他们非常字面意思。缺少分号或添加的字符可以完全改变程序的功能。因此,在使用某些程序时,您需要像计算机一样小心。

正如@juanchopanza所提到的,===之间存在差异 - 你已经知道它是什么了。