我无法理解这些陈述如何产生不同价值的概念。据我所知x + = 1,意味着x = x + 1.我也知道x ++应该相当于x + 1.
我也搜索了这个主题并找到了提出相同问题的帖子,这些帖子通常通过声明语句/表达式是相同的,但不同的结果是由于另一个代码错误。通过这个例子我将提供我不知道代码是如何出错的,所以请解释一下,谢谢。
int x = 0;
x++;
此时那么为什么如果我将x分配给0,然后继续编码" cout<< X ++;"我在屏幕上得到0值?!如果x ++等于x + 1并且x为0然后1 + 0 = 1,x ++如何变为0?由于++被放在x之后,我被告知它,但为什么处理加1 + 0与0 + 1相同呢?
答案 0 :(得分:3)
cout << x++;
在增量之前输出x
的值。
cout << ++x;
会做你期望的事。
答案 1 :(得分:1)
++
运算符有两种形式:prefix和postfix。您正在使用后缀表单。
x++
返回x的当前值,然后递增它。当您使用cout << x++
时,它会打印x 然后会增加它。
++x
做你想要的:它增加x 然后返回它。 cout << ++x
会给你你想要的东西。
答案 2 :(得分:0)
x++
只返回x
,然后将x
增加一个。
因此,您的示例中的cout << x++
将等同于cout << x; x = x+ 1;
答案 3 :(得分:0)
这是后增量,这意味着它将按原样执行变量,然后添加到变量。
如果你尝试了预增量++x
,那么它会添加到变量中,并按原样执行变量(现在增加)。
因此,int x = 0; x = x + 1; cout << x;
和int x = 0; x++; cout << x++;
将全部打印1
。
答案 4 :(得分:0)
Cout&lt;&lt; x ++将首先打印x然后增加它,x ++是后增量所以在操作x增加之后。相反,++ x会做相反的事情。而且,如果你喜欢像x + 1这样的表达式,那么表达式将在打印前进行评估
答案 5 :(得分:0)
x ++是一个后增量,这意味着它在运行当前语句后递增。
相反,++ x在执行增量之前执行当前语句。
希望这有帮助。