C++ x + = 1 x ++和x = x + 1是不是一样?
我无法理解这些陈述如何产生不同的值的概念。据我所知,x + = 1,意味着x = x + 1。我也知道x ++应该等于x + 1.C++ x + = 1 x ++和x = x + 1是不是一样?
我也搜索了这个话题,发现帖子提出同样的问题,那些帖子通常通过陈述陈述/表达式是相同的,但不同的结果是由于另一个代码错误造成的。以我将提供的例子来看,我看不出有什么代码错误,请解释一下,谢谢。
int x = 0;
x++;
此时x应为1,因为x ++会将x加1。
那么为什么如果我将x赋值为0,然后继续编码“cout < < x ++;”我在屏幕上得到0的值!!如果x ++等于x + 1并且如果x是0,那么1 + 0 = 1时x ++如何变为0?我被告知它是由于++放在x之后,但为什么处理加1 + 0与0 + 1相同呢?
cout << x++;
在增量前输出值为x
,因为您使用的是后缀增量运算符。
cout << ++x;
会做你所期望的。
相当于那是后加的,这意味着它将执行变量,是,然后添加到变量。
如果您尝试过预增加++x
,那么它会添加到变量,并按原样执行变量(现在增加)。因此,int x = 0; x = x + 1; cout << x;
和int x = 0; x++; cout << x++;
将全部打印1
。
Cout < < x ++将首先打印x然后增加它,x ++是后增量,因此操作x增加后。相反,++ x会做相反的事情。而且,如果你想像x + 1这样的表达式,表达式将在打印之前被评估
x ++是后增量,这意味着它在它运行当前语句后递增。
相反,++ x在执行增量之前执行当前语句。
希望这会有所帮助。
有两种形式的++
运算符:前缀和后缀。您正在使用后缀表单。
x++
返回当前 x的值,然后增加它。当您使用cout << x++
时,它会打印x ,然后会递增。
++x
做你想做的事:它增加x 然后返回它。 cout << ++x
会给你你想要的。
将'++'放在'x'之后,这意味着您希望在确定表达式的值之后发生增量。如果你想让增量先发生,使用'++ x'。 C++不是数学。在C++中,符号不一定意味着它们在数学中的含义。 –