- UID
- 852722
|
自增运算符(++),I++与++I的区别-1
1. 自增运算符(Increment Operator)
自增运算符 ++ 使操作数的值增 1,其操作数必须为可变左值(您可以简单地把可变左值理解为变量)。++ 可以置于操作数前面,也可以放在后面。例如:
++N ;
N++ ;
这两个语句产生的结果都是使 N 增 1,可以说没什么区别。使用以下语句得到的效果也是一样的:
N = N + 1 ;
尽管上面两个语句中,++ 前置和后置没有区别。但是,++ 前置和后置其实是有区别的。例如:
Int N = 1, Post, Pre;
Post = N++;
Pre = ++N;
对于 Post = N++; 这个语句,Post 得到 N 自增前的值,因为 N++ 的值为 1。也就是说,这个语句执行完后,Post 的值是 1,而 N 的值变成 2。而 Pre = ++N; 这个语句,Pre 得到 N 自增后的值,因为 ++N 的值为 3。也就是说,这个语句执行完后,Pre 的值是 3,N 的值也是 3。
总之,无论前置还是后值,++ 都会使其操作数的值增 1。不同的是,++ 前置时,自增表达式(如 ++N)的值等于其操作数自增后的值;++ 后置时,自增表达式(如 N++)的值等于其操作数自增前的值。例如:
Int N = 5, Post = 1, Pre = 1;
Pre = ++N + Pre; // 运算结束后 Pre 为 7,N 为 6
N = 5;
Post = N++ + Post; // 运算结束后 Post 为 6,N 为 6
上例中,++N 的值等于 N 自增后的值,即 6,所以 Pre 最后得到的值为 7。N++ 的值等于 N 自增前的值,即 5,所以 Post 最后得到的值为 6。 |
|