c++中前置/後置遞增/遞減
阿新 • • 發佈:2020-12-23
在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的遞增運算,同理前置/後置遞減也是如此。