可能重复:
What is the difference between ++i and i++
pre Decrement vs. post Decrement
是的我是一个菜鸟,但我完全忘记了他们都做了什么。
但是,我知道int ++只是为int的值增加了一个。
那么,什么是++ int?
谢谢。
答案 0 :(得分:14)
如果您正在谈论C(或类似C语言),除非您使用值,否则它完全相同:
int a = 10;
int b = a++;
在这种情况下,a
变为11,b
设置为10.后增量 - 在使用后增加。
如果您将上一行更改为:
int b = ++a;
然后a
仍然变为11,b
也是如此。这是因为它的预增量 - 在使用之前增加。
请注意,它对于C ++类来说并不完全相同,可以通过优先选择其中一种来提高效率。但是既然你在谈论整数,那么C ++就像C一样。
答案 1 :(得分:3)
a ++将返回a并递增它,++ a将递增a并返回它:
a = 5;
b = a++; // b = 5, a = 6
a = 5;
b = ++a; // b = 6, a = 6
答案 2 :(得分:3)
C或C ++中的每个表达式都有一个类型,一个值和可能的副作用。
int i;
++i;
++i
的类型为int
。副作用是增加i
。表达式的值是i
的新值。
int i;
i++;
i++
的类型为int
。副作用是增加i
。表达式的值是i
的旧值。
答案 3 :(得分:1)
它是preincrement运算符