1. 程式人生 > 其它 >c++中前置/後置遞增/遞減

c++中前置/後置遞增/遞減

技術標籤:c++小菜雞c++

在c++中,前置遞增++a與後置遞增a++都是讓變數a加一再賦值給自身,那麼他們的區別在哪呢?
前置遞增++a是先讓變數a+1再進行表示式的運算,而後置遞增a++是先使用變數a與表示式進行運算後再+1,示例程式碼如下:

void test01()
{
	int a = 10;
	int b;
	b = ++a * 2; //先讓a加1,然後進行表示式計算
	cout << "test01,此時a的值為: " << a << endl;
	cout << "test01,此時b的值為: "
<< b << endl; } void test02() { int a = 10; int b; b = a++ * 2; //先進行表示式計算(即a*2),然後讓a加1 cout << "test02,此時a的值為: " << a << endl; cout << "test02,此時b的值為: " << b << endl; }

test01中,b=++a*2,相當於b=(++a)*2, a先加1,此時a的值是11,而後b=11×2;
test02中,b=a++*2, 由於是後置遞增,相當於b=a×2; a++;程式先利用a的原始值計算出b的值而後進行a的遞增運算,同理前置/後置遞減也是如此。

執行結果如下:
在這裡插入圖片描述