亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語言 百分網(wǎng)手機(jī)站

c語言++放在前面和后面的區(qū)別分析

時間:2020-10-07 16:57:44 C語言 我要投稿

c語言++放在前面和后面的區(qū)別分析

  在C語言中,前綴自增(++i)和后綴自增(i++)操作符并不是同一個操作符,前綴自增操作符的優(yōu)先級高于后綴自增,同時得到的結(jié)果并不完全一致,因此需要區(qū)分。

  咱們先看第一個

  i被賦值0,i++(后++)并沒有輸出1。

  現(xiàn)在i被賦值0,++i,也就是前++后輸出了1。

  i被賦值0,前++ 的話,就是自身先加1 就自身賦值變成1 ,后面的i的`值都是1了。

  i被賦值0,先是后++,后++意思是 自己先被賦值,賦值完后等本語句結(jié)束后就自己加1了。第一個printf輸出的是i開始被賦的值0, 第一個printf之后就是一個(;)分號,分號意思是這個語句的結(jié)束。 這條語句結(jié)束,這時候i就偷偷的自己加上1了,第2個printf輸出的就是上一個語句處理后i的值了。

  i被賦值0,i++ ; 這是一條語句。因為有分號。 我們說 后加加 就是 先自己賦值,然后等待本語句結(jié)束時自己再加1。 i++ ; 執(zhí)行的結(jié)果就是 0+1=1了。printf只管輸出 i的值了。

  i先被賦值0, i++后面帶個分號“;” 就是這條語句結(jié)束, i++;處理的結(jié)果是 0+1=1 后面的i 的值便是1了。

  i被賦值為0,++i; 前++就是自己先加1,再賦值給自身。 ++i; 處理 的結(jié)果是 0+1=1。

  i先賦值為0,++i; (前++)就是 自己先0+1=1,然后把1再賦值給自己 i就變成了1 i++; (后++) 前面i已經(jīng)被賦值為1了,這里i++; 也就是先把上一個i的值1 賦給自己變成1,但是遇到分號(;)意味著這條語句的結(jié)束, 語句結(jié)束i++; 就執(zhí)行1+1=2 了。

  i被賦值為0,前++, i就變成1 printf里面的i++ 輸出的只能是自己被賦的那個值1 如果下面再加個printf("%d",i);的話輸出的i就是為2了

  總結(jié): 前++就是 先自己加1,加完后賦值給自己。 后++就是 先自己賦值,賦完值還必須等語句結(jié)束才能加1。

  口訣:前+ 后賦。這是我想的。 意思是:前面++ 第一步先加+1 后賦 就是后++的 就先賦值。 此外前-- 與后-- 道理也是一樣的。

  綜上:++在前是先加1在運算, 在后面是先運算在加1

  例子如下。

1
2
3
4
5
6
int i=0;
printf("%d",++i);i加了1才給傳遞參數(shù),所以輸出是1
 
i=0;
printf("%d",i++)前傳遞參數(shù),所以還是輸出原來的值是0
printf("%d,i) 因為上面那句加了1所以 輸出是1


【c語言++放在前面和后面的區(qū)別分析】相關(guān)文章:

1.淺談c語言和c++和VB的區(qū)別

2.C語言中static和extern的區(qū)別

3.c語言中bit和sbit的區(qū)別哪些

4.C語言單引號和雙引號的區(qū)別

5.C語言double和float 實例分析用法

6.c語言指針運用中堆和棧的區(qū)別

7.C語言與JAVA理論區(qū)別

8.C++、C語言和JAVA開發(fā)的區(qū)別