最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言中-a++和-++a運(yùn)算順序?qū)嵗馕?/h1>
 更新時(shí)間:2022年11月08日 11:42:04   作者:懶笑翻  
C語言中的a++和++a的區(qū)別在于混合表達(dá)式中運(yùn)算符的處理順序,下面這篇文章主要給大家介紹了關(guān)于C語言中-a++和-++a運(yùn)算順序的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下

前言

-a++ ,如果a=3,那么-a++輸出的結(jié)果是多少? -3還是-4?

一、首先

先來了解一下算術(shù)運(yùn)算符的優(yōu)先級(jí)和結(jié)合性:

運(yùn)算符優(yōu)先級(jí)結(jié)合性
++、--、+(正)、-(負(fù))同級(jí)

^

|

|

右結(jié)合
*、/、%同級(jí)左結(jié)合
+(加)、-(減)同級(jí)左結(jié)合

右結(jié)合*、/、%同級(jí)左結(jié)合+(加)、-(減)同級(jí)左結(jié)合

在C語言中,計(jì)算表達(dá)式的值也需要按運(yùn)算符的優(yōu)先級(jí)從高到低的順序進(jìn)行計(jì)算。

例如,表達(dá)式 a+b*c 相當(dāng)于 a+(b*c).

若操作數(shù)兩側(cè)運(yùn)算符的優(yōu)先級(jí)相同,則按結(jié)合性(結(jié)合方向)決定計(jì)算順序,

若結(jié)合方向?yàn)?ldquo;從左到右”,則操作數(shù)先與左邊的運(yùn)算符結(jié)合;

若結(jié)合方向?yàn)?ldquo;從右到左”,則操作數(shù)先與右邊的運(yùn)算符結(jié)合;

例如,表達(dá)式-a++,- 與 ++ 同級(jí),此時(shí)按結(jié)合方向決定計(jì)算順序(右結(jié)合),相當(dāng)于 -(a++)。

二、其次

我們來運(yùn)行一下 -a++ 感受一下:

#include <stdio.h>
 
int main() {
    int a = 3;
    int b = 5;
    printf("%d\n",-a++);
    printf("%d\n",a);
 
    printf("%d\n",-++b);
    printf("%d\n",b);
    return 0;
}

在運(yùn)行結(jié)果出來之前,我們先來猜猜輸出結(jié)果是怎樣的? -4  4 -6  6 ?如果是這樣的話大概忘記了++前置和后置了?

運(yùn)行結(jié)果:

使用的編譯軟件:CLion

~~~結(jié)果有疑惑?請(qǐng)看下方解惑~~~

(初學(xué)者提示:下圖中左邊箭頭所指即當(dāng)前程序運(yùn)行到這一行,運(yùn)行到當(dāng)前行時(shí)右邊會(huì)有變量當(dāng)前取值。)

圖1: 此時(shí)我們發(fā)現(xiàn) -a++ 中,a的值還是3,這是因?yàn)?a++ ,++后置,

所以在這里print 輸出結(jié)果是-3,

圖2:在這第6行運(yùn)行完后,a++生效,也就是a=a+1,這時(shí)候a=4,所以在這里第7行運(yùn)行print輸出的結(jié)果是4。

 圖3:這里這個(gè)b是為了對(duì)比-a++的結(jié)果的。-++b,意思是 -(++b),++前置,那么我們先b=b+1,這時(shí)候b=6,再走-b的輸出。也就是print 輸出 -6。

 圖4:這里輸出b,此時(shí)我們從第9行時(shí)b已經(jīng)++b,因此b=5+1=6,所以在這里輸出為6。

補(bǔ)充:下面講解下3-3的例題

int a = 100; 最開始時(shí)a是100。

打印 a++;  這個(gè)printf會(huì)打印a++的值,注意是a++表達(dá)式的值,看我前面的講解,a++的值就是a的值,也就是100。 別忘了這語句結(jié)束后a的值就會(huì)自增1(也就是副作用發(fā)生了)。

打印 ++a;  目前a的值為101?,F(xiàn)在要打印++a表達(dá)式的值,++a的值就等于a+1,所以會(huì)打印出102。 此語句后a=101+1=102。

打印 --a;  這次要打印--a表達(dá)式的值,同自增一個(gè)道理,--a的值等于a-1,所以會(huì)打印出101。 此語句后a=102-1=101。

打印 a--;  a--表達(dá)式的值就是a的值,所以打印出101。 此語句后a=101-1=100。

打印 a+1;  這表達(dá)式與自增無關(guān),只是打印a+1的值,就是101。 對(duì)a本身的值沒有影響(加法表達(dá)式?jīng)]有副作用)。

打印 a;  這時(shí)a的值當(dāng)然還是100了。

最后

綜上,-a++ ,如果a=3,那么-a++輸出的結(jié)果是-3,運(yùn)算順序還是 -(a++),只是++后置,此時(shí)a=a+1要在執(zhí)行完這一行才執(zhí)行,如果是++前置,那么也就是 -++a 的情況,那么輸出的結(jié)果就是-4。

到此這篇關(guān)于C語言中-a++和-++a運(yùn)算順序的文章就介紹到這了,更多相關(guān)C語言-a++和-++a運(yùn)算順序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語言示例講解switch分支語句的用法

    C語言示例講解switch分支語句的用法

    這篇文章主要為大家介紹了switch語句,switch語句是我們常見會(huì)用到的結(jié)構(gòu),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • C語言中結(jié)構(gòu)體和共用體實(shí)例教程

    C語言中結(jié)構(gòu)體和共用體實(shí)例教程

    這篇文章主要給大家介紹了關(guān)于C語言中結(jié)構(gòu)體和共用體的相關(guān)資料,結(jié)構(gòu)體是一種自定義的復(fù)合數(shù)據(jù)類型,共用體也叫聯(lián)合體,使幾個(gè)不同類型的變量共占一段內(nèi)存(相互覆蓋),需要的朋友可以參考下
    2021-06-06
  • C++中的重載、覆蓋、隱藏介紹

    C++中的重載、覆蓋、隱藏介紹

    這篇文章主要介紹了C++中的重載、覆蓋、隱藏介紹,需要的朋友可以參考下
    2015-04-04
  • C++實(shí)現(xiàn)學(xué)生檔案管理系統(tǒng)

    C++實(shí)現(xiàn)學(xué)生檔案管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)學(xué)生檔案管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • C語言超詳細(xì)講解循環(huán)與分支語句基礎(chǔ)

    C語言超詳細(xì)講解循環(huán)與分支語句基礎(chǔ)

    各位小伙伴們,今天給大家?guī)淼氖茄h(huán)與分支語句,本篇將會(huì)向大家介紹這些語句的格式和使用的基本方法,感興趣的朋友來看看吧
    2022-04-04
  • C++多態(tài)與虛擬之C++編譯器對(duì)函數(shù)名的改編(Name?Mangling)

    C++多態(tài)與虛擬之C++編譯器對(duì)函數(shù)名的改編(Name?Mangling)

    在Windows?DLLs中,使用C++編寫的DllMain()等callback函數(shù)需避免C++編譯器進(jìn)行name?mangling,因此需使用extern?"C",這篇文章主要介紹了C++多態(tài)與虛擬:C++編譯器對(duì)函數(shù)名的改編(Name?Mangling),需要的朋友可以參考下
    2024-04-04
  • C++基本用法實(shí)踐之模板詳解

    C++基本用法實(shí)踐之模板詳解

    C++的模板是泛型編程思想的一種實(shí)現(xiàn),模板不光支持函數(shù)模板,還有類模板等,本文主要來和大家聊聊C++中模板的相關(guān)用法,需要的可以參考一下
    2023-07-07
  • VsCode搭建C語言運(yùn)行環(huán)境詳細(xì)過程及終端亂碼問題解決方案

    VsCode搭建C語言運(yùn)行環(huán)境詳細(xì)過程及終端亂碼問題解決方案

    這篇文章主要介紹了VsCode搭建C語言運(yùn)行環(huán)境以及終端亂碼問題解決,在VsCode中搭建C/C++運(yùn)行環(huán)境需要先安裝幾個(gè)插件,具體插件文中給大家詳細(xì)介紹,需要的朋友可以參考下
    2022-12-12
  • C語言常用的編輯器你知道幾個(gè)

    C語言常用的編輯器你知道幾個(gè)

    這篇文章主要為大家詳細(xì)介紹了C語言常用的編輯器,中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • C++教程之進(jìn)制轉(zhuǎn)換的實(shí)現(xiàn)方法

    C++教程之進(jìn)制轉(zhuǎn)換的實(shí)現(xiàn)方法

    在C++中進(jìn)行進(jìn)制轉(zhuǎn)換可以通過標(biāo)準(zhǔn)庫函數(shù)或自定義算法實(shí)現(xiàn),本文主要為大家整理了兩種常見場景的轉(zhuǎn)換方法及示例代碼,有需要的小伙伴可以根據(jù)需求進(jìn)行選擇
    2025-04-04

最新評(píng)論

晴隆县| 河东区| 新丰县| 雷州市| 滦平县| 湖北省| 宁南县| 安平县| 石门县| 怀柔区| 太谷县| 邓州市| 安平县| 黎城县| 新津县| 东平县| 东兰县| 科技| 开江县| 南投市| 新巴尔虎右旗| 温宿县| 玛沁县| 竹北市| 玉龙| 沅陵县| 休宁县| 乐都县| 双流县| 浦江县| 维西| 古丈县| 江达县| 荣成市| 延边| 瑞金市| 台中县| 外汇| 吉安县| 双桥区| 澄江县|