c語(yǔ)言++放在前面和后面的區(qū)別分析
咱們先看第一個(gè)
i被賦值0,i++(后++)并沒(méi)有輸出1。
現(xiàn)在i被賦值0,++i,也就是前++后輸出了1。
i被賦值0,前++ 的話,就是自身先加1 就自身賦值變成1 ,后面的i的值都是1了。
i被賦值0,先是后++,后++意思是 自己先被賦值,賦值完后等本語(yǔ)句結(jié)束后就自己加1了。第一個(gè)printf輸出的是i開(kāi)始被賦的值0, 第一個(gè)printf之后就是一個(gè)(;)分號(hào),分號(hào)意思是這個(gè)語(yǔ)句的結(jié)束。 這條語(yǔ)句結(jié)束,這時(shí)候i就偷偷的自己加上1了,第2個(gè)printf輸出的就是上一個(gè)語(yǔ)句處理后i的值了。
i被賦值0,i++ ; 這是一條語(yǔ)句。因?yàn)橛蟹痔?hào)。 我們說(shuō) 后加加 就是 先自己賦值,然后等待本語(yǔ)句結(jié)束時(shí)自己再加1。 i++ ; 執(zhí)行的結(jié)果就是 0+1=1了。printf只管輸出 i的值了。
i先被賦值0, i++后面帶個(gè)分號(hào)“;” 就是這條語(yǔ)句結(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++; 也就是先把上一個(gè)i的值1 賦給自己變成1,但是遇到分號(hào)(;)意味著這條語(yǔ)句的結(jié)束, 語(yǔ)句結(jié)束i++; 就執(zhí)行1+1=2 了。
i被賦值為0,前++, i就變成1 printf里面的i++ 輸出的只能是自己被賦的那個(gè)值1 如果下面再加個(gè)printf("%d",i);的話輸出的i就是為2了
總結(jié): 前++就是 先自己加1,加完后賦值給自己。 后++就是 先自己賦值,賦完值還必須等語(yǔ)句結(jié)束才能加1。
口訣:前+ 后賦。這是我想的。 意思是:前面++ 第一步先加+1 后賦 就是后++的 就先賦值。 此外前-- 與后-- 道理也是一樣的。
綜上:++在前是先加1在運(yùn)算, 在后面是先運(yùn)算在加1
例子如下。
int i=0; printf("%d",++i);i加了1才給傳遞參數(shù),所以輸出是1 i=0; printf("%d",i++)前傳遞參數(shù),所以還是輸出原來(lái)的值是0 printf("%d,i) 因?yàn)樯厦婺蔷浼恿?所以 輸出是1
相關(guān)文章
利用Debug調(diào)試代碼解決0xC0000005:?讀取位置?0x0000000000000000?時(shí)發(fā)生訪問(wèn)沖突問(wèn)
這篇文章主要介紹了利用Debug調(diào)試代碼解決0xC0000005:?讀取位置?0x0000000000000000?時(shí)發(fā)生訪問(wèn)沖突,本文給大家分享完美解決方案,需要的朋友可以參考下2023-03-03C語(yǔ)言函數(shù)傳遞數(shù)組和傳遞地址的區(qū)別你知道嗎
這篇文章主要介紹了C語(yǔ)言中數(shù)組作為函數(shù)的參數(shù)以及返回值的使用簡(jiǎn)單入門(mén),這里以一維數(shù)組作為基本條件進(jìn)行例子講解,需要的朋友可以參考下2021-09-09C程序中Ubuntu、stm32的內(nèi)存分配問(wèn)題
這篇文章主要介紹了C程序中Ubuntu、stm32的內(nèi)存分配問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12利用C++實(shí)現(xiàn)計(jì)算機(jī)輔助教學(xué)系統(tǒng)
我們都知道計(jì)算機(jī)在教育中起的作用越來(lái)越大。這篇文章主要為大家詳細(xì)介紹了如何利用C++編寫(xiě)一個(gè)計(jì)算機(jī)輔助教學(xué)系統(tǒng),感興趣的可以了解一下2023-05-05Mac下使用Eclipse編譯C/C++文件出現(xiàn) launch failed, binary not found 解決方
這篇文章主要介紹了Mac下使用Eclipse編譯C/C++文件出現(xiàn) launch failed, binary not found 解決方案,需要的朋友可以參考下2014-10-10