经常见到的诸如(i++)和(++i),这两种都是递增运算符的操作,而前++和后++是稍微有所不同的,
递减运算符的(i--)和(--i)也同递增运算符一样,都稍有不同
1. 递增运算符的前++和后++的区别
相同:首先这两种写法都是正确的
其次运算结束之后,变量的值都是一样的
差异: 在运算过程中,是在使用前递增还是使用后递增是不一样的
后++的演示,在使用过程中值是不变的,使用结束后,值做了递增
前++的演示,在使用前先做了递增,在做计算
2. 递增运算符++的使用场景
源码
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
int nAdd1 = 10;
int nAdd2 = 20;
int nResult = 0;
nResult = nAdd1 + (++nAdd2);
printf("(前++)nResult = %d\n", nResult);
nAdd1 = 10;
nAdd2 = 20;
nResult = 0;
nResult = nAdd1 + (nAdd2++);
printf("\n(后++)nResult = %d\n", nResult);
return 0;
}
运行结果
注: 前++和后++对计算的结果是有影响的,要根据具体的使用场景,选择前++还是后++
3. 递减运算符的前--和后--的区别
相同:首先这两种写法都是正确的
其次运算结束之后,变量的值都是一样的
差异: 在运算过程中,是在使用前递减还是使用后递减是不一样的
后--的演示,在使用过程中值是不变的,使用结束后,值做了递递减
前--的演示,在使用前先做了递减,在做计算
4. 递减运算符--的使用场景
源码
// Len_Incre.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
int nSub1 = 20;
int nSub2 = 10;
int nResult = 0;
nResult = nSub1 - (--nSub2);
printf("(前--)nResult = %d\n", nResult);
nSub1 = 10;
nSub2 = 20;
nResult = 0;
nResult = nSub1 - (nSub2--);
printf("\n(后--)nResult = %d\n", nResult);
return 0;
}
执行结果