C 中的A 和 A的區別

2021-10-10 06:10:00 字數 833 閱讀 7142

a++是字尾加,++a是字首加。

兩者區別在於:a++是先返回其a的值,再進行自加1的運算;++a是先對於a的值自加1,再返回其值;

如下圖**所示:

// demo0.cpp : 定義控制台應用程式的入口點。

//#include

"stdafx.h"

#include

using

namespace std;

intmain()

結果如下:

原因在於:

第乙個++a為,將a的值10加1之後輸出。又因為cout能夠改變儲存的a的值,所以現在a的值為11;

接下來進行a++的操作時,a先輸出之後才進行的自加操作,由於沒有乙個變數來接收a自加後的值,所以輸出為11。

將兩行**調換順序更容易理解其原理。

int

main()

輸出結果如下圖所示:

執行第乙個a++時,輸出的資料為10,但是在執行完語句時,a進行了自加(加1)的操作,所以此時a儲存的值是11;

再執行++a時,是對於a加+之後再輸出,由於cout能儲存a現在的狀態,所以a現在是11,即在a=11的狀態下進行自加操作,加1結束後,輸出a現在的值為12。

有疑問可加qq1297716447,說明來意,互相交流學習。

C 中as 和 is 的區別

1.as在轉換的同時兼判斷相容性,如果無法進行轉換,則 as 返回 null 沒有產生新的物件 而不是引發異常。有了as就不要再用try catch來做型別轉換的判斷了。因此as轉換成功要判斷是否為null。2.as是引用型別型別的轉換或者裝箱轉換,不能用與值型別的轉換。如果是值型別只能結合is來強...

C 中的 和 的區別

比如c 中乙個類 class student 裡面有個公有 成員變數 test 如果你宣告這個類的物件student s 那麼你要對test操作要用 s.test 如果你宣告這個類的物件student s為指標型別的話,那麼你要對test操作要用 s test 或者 如果乙個指標型變數指向乙個類 結...

C 中的const 和C中的區別

c 中的const 一 和c中的區別 c 中的const正常情況下是看成編譯期的常量,編譯器並不為const分配空間,只是在編譯的時候將期值儲存在名字表中,並在適當的時候折合在 中.所以,以下 include using namespace std int main for int i 0 i si...