• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            小烏龜

            在夢(mèng)想的道路上還能走多遠(yuǎn)

            什么是運(yùn)算符的結(jié)合性?

            當(dāng)兩個(gè)運(yùn)算符的優(yōu)先級(jí)一樣的時(shí)候,先算哪一個(gè)的問(wèn)題,這就是結(jié)合性。

            首先要明白的是:結(jié)合性對(duì)于兩個(gè)或兩個(gè)以上的優(yōu)先級(jí)一樣的運(yùn)算符才有意義。
            比如:
            = x + y - z;

            由于算術(shù)運(yùn)算符的結(jié)合性是從左至右,因此上式等價(jià)于:

            = (x + y) - z;

            再比如:
            #include <stdio.h>

            main()
            {
                
            int s[2= {1152};
                
            int *ptr = s;

                printf(
            "%d\n"*++ptr);
                
            return 0;
            }
            答案是:52
            由于*和++的結(jié)合性從右至左,因此*++ptr等價(jià)于*(++ptr)

            在網(wǎng)上查詢(xún)資料的時(shí)候發(fā)現(xiàn):很多人問(wèn)條件運(yùn)算符的結(jié)合性的問(wèn)題。
            int i = 3;
            int k = 0;

            = (i++<0? 9 : ((i==3? 10 : 8);

            cout 
            <<k;

            k = (3<0)?9:((i==3)?10:8);
            之后i變成4
            ----〉
            3<0是假,所以k不為9,繼續(xù)計(jì)算下一步。
            k = ((i==3)?10:8);
            ----〉
            我們知道這時(shí)候i等于4,所以,((i==3)為假。
            所以k不等于10,而是等于8嘛
            k = ((i==3)?10:8);
            ----〉
            k = 8

            有人問(wèn),那條件運(yùn)算符的結(jié)合性且不是從左至右了,這與書(shū)上寫(xiě)的從右至左不符?
            其實(shí)上面根本牽涉不到什么結(jié)合性的問(wèn)題,只有一個(gè)運(yùn)算符會(huì)牽涉到結(jié)合性嗎。而條件運(yùn)算符是C中規(guī)定計(jì)算順序的四個(gè)運(yùn)算符之一,因此上面的計(jì)算順序是完全正確的。

            posted on 2008-07-28 19:44 小烏龜 閱讀(2079) 評(píng)論(7)  編輯 收藏 引用 所屬分類(lèi): C&C++

            評(píng)論

            # re: C中運(yùn)算符結(jié)合性 2008-08-30 16:53 siki
            懂了..~~~3q  回復(fù)  更多評(píng)論
              

            # re: C中運(yùn)算符結(jié)合性 2008-12-26 05:46 山師助教lizh1970
            當(dāng)兩個(gè)運(yùn)算符的優(yōu)先級(jí)一樣的時(shí)候,先算哪一個(gè)的問(wèn)題,這就是結(jié)合性。

            其實(shí)上面根本牽涉不到什么結(jié)合性的問(wèn)題,只有一個(gè)運(yùn)算符會(huì)牽涉到結(jié)合性嗎。

            我印象中條件運(yùn)算符優(yōu)先級(jí)相同沒(méi)有其它運(yùn)算符,只有它一個(gè).如果k = (i++<0) ? 9 : ((i==3) ? 10 : 8);可以視為只有一個(gè)運(yùn)算符,則與"當(dāng)兩個(gè)運(yùn)算符的優(yōu)先級(jí)一樣的時(shí)候,先算哪一個(gè)的問(wèn)題,這就是結(jié)合性。"不符.

            實(shí)際上運(yùn)算符結(jié)合性是運(yùn)算符與變量結(jié)合的順序,而與先算哪一個(gè)(即運(yùn)算順序)無(wú)關(guān).例如:
            k= (i++<0) ? 9 : i==3 ? 10 : 8;
            中有兩個(gè)? : 運(yùn)算符,其結(jié)合性為從右至左即可以變?yōu)?

            k = (i++<0) ? 9 : (i==3 ? 10 : 8);
            由此可以類(lèi)推三個(gè)? : 運(yùn)算符
            k = (i++<0) ? 9 : i==3 ? 10 : i==2 ? 11 : 12 ;

            運(yùn)算符與變量結(jié)合的順序?yàn)?

            k = (i++<0) ? 9 : i==3 ? 10 :( i==2 ? 11 : 12 ) ;
            k = (i++<0) ? 9 : (i==3 ? 10 :( i==2 ? 11 : 12 ) );



              回復(fù)  更多評(píng)論
              

            # re: C中運(yùn)算符結(jié)合性 2008-12-26 06:28 山師助教lizh1970
            小烏龜?shù)挠?jì)算方法還是對(duì)的  回復(fù)  更多評(píng)論
              

            # re: C中運(yùn)算符結(jié)合性 2009-01-30 20:53 .。
            3Q  回復(fù)  更多評(píng)論
              

            # re: C中運(yùn)算符結(jié)合性 2009-05-11 13:39 gump
            結(jié)合與求值的順序  回復(fù)  更多評(píng)論
              

            # re: C中運(yùn)算符結(jié)合性 2009-06-18 12:08 guest
            a=10;b=20;c=30;d=40;e=50;f=60;g=70;
            h=++a?++b:++c?++d:++e?++f:++g;
            printf("a=%d b=%d c=%d d=%d e=%d f=%d g=%d",a,b,c,d,e,f,g);

            輸出的結(jié)果為:
            a=11 b=21 c=30 d=40 e=50 f=60 g=70


            不知如何解釋?zhuān)恐x謝!  回復(fù)  更多評(píng)論
              

            # re: C中運(yùn)算符結(jié)合性 2009-07-06 21:23 過(guò)客
            在VC6.0中,是這樣運(yùn)算的,首先計(jì)算第一個(gè)雙目運(yùn)算符 ,完成后不在進(jìn)行下次運(yùn)算,因?yàn)?+a等于3,是真,所以不在進(jìn)行運(yùn)算
              回復(fù)  更多評(píng)論
              

            国产精品久久久久久久久久免费| 久久综合久久综合亚洲| 色天使久久综合网天天| 91久久精品国产91性色也| 久久久久99精品成人片直播| 综合人妻久久一区二区精品| 久久国产精品无| 午夜精品久久久久久久| 亚洲av日韩精品久久久久久a| 久久w5ww成w人免费| 国产成人精品久久免费动漫| 久久精品国产久精国产| 99久久国产综合精品五月天喷水| 亚洲综合久久综合激情久久| 久久久久99精品成人片| 日韩欧美亚洲国产精品字幕久久久| 国内精品久久久久国产盗摄| 亚洲国产精品久久| 久久婷婷五月综合97色直播| 青青久久精品国产免费看| 亚洲欧美一区二区三区久久| 国产人久久人人人人爽| 99久久综合国产精品二区| 香蕉久久影院| 国内精品人妻无码久久久影院| 99久久国产综合精品成人影院| 久久久久亚洲AV成人网人人网站| 亚洲综合伊人久久综合| 青青青伊人色综合久久| 久久亚洲精品国产精品婷婷| 麻豆AV一区二区三区久久 | 国产成人综合久久久久久| 国产—久久香蕉国产线看观看| 久久亚洲精品无码VA大香大香| 国产精品久久久久久福利漫画| 日韩电影久久久被窝网| 91精品国产高清久久久久久io| 亚洲精品成人网久久久久久| 2021久久国自产拍精品| 97精品伊人久久大香线蕉| 国产69精品久久久久99尤物|