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相同呢?

+0

将'++'放在'x'之后,这意味着您希望在确定表达式的值之后发生增量。如果你想让增量先发生,使用'++ x'。 C++不是数学。在C++中,符号不一定意味着它们在数学中的含义。 –

cout << x++;在增量前输出值为x,因为您使用的是后缀增量运算符。

cout << ++x;会做你所期望的。

x++只是返回x,然后增加一个x

所以cout << x++在你的榜样将是cout << x; x = x+ 1;

+0

好吧,我现在明白,cout bob

+1

'cout

+0

是的,它变成我的屏幕上的“00” – bob

相当于那是后加的,这意味着它将执行变量,是,然后添加到变量。

如果您尝试过预增加++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会给你你想要的。