• <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>

            Khan's Notebook GCC/GNU/Linux Delphi/Window Java/Anywhere

            路漫漫,長(zhǎng)修遠(yuǎn),我們不能沒(méi)有錢
            隨筆 - 173, 文章 - 0, 評(píng)論 - 257, 引用 - 0
            數(shù)據(jù)加載中……

            c語(yǔ)言(a < b < c )的陷阱

            很久沒(méi)有碰c/c++了, 近兩年都是java為主, 偶爾用一下c/c++

            (a<b<c) 這種寫法我以前從來(lái)沒(méi)有用過(guò). 今天突然有網(wǎng)友提起來(lái), 我習(xí)慣性的在腦海中把其翻譯成
            (a<b && b<c) 釀成了一些小錯(cuò)誤. 我悔過(guò)了.

            網(wǎng)友給我扔來(lái)了c99的標(biāo)準(zhǔn)
            §6.5.9 第86頁(yè) 89) The expression a<b<c is not interpreted as in ordinary mathematics. As the syntax indicates, it
            means (a<b)<c; in other words, ‘‘if a is less than b, compare 1 to c; otherwise, compare 0 to c’’.

            意思也就是說(shuō). (a<b<c) 按照從左到右的方式開始運(yùn)算
            1.( (a<b) < c )
            2.a<b ?  TRUE : FALSE;
            3.所以, 最終表達(dá)式運(yùn)算的是 (1<c) 或者 (0<c)

            C語(yǔ)言中. 雖然任何不等于0的數(shù)為真. 但是實(shí)際在宏定義中 TRUE == 1  FALSE == 0;

            posted on 2008-10-23 16:35 Khan 閱讀(2667) 評(píng)論(5)  編輯 收藏 引用 所屬分類: GCC/G++跨平臺(tái)開發(fā)

            評(píng)論

            # re: c語(yǔ)言(a < b < c )的陷阱  回復(fù)  更多評(píng)論   

            這種代碼我還真在公司的一次代碼評(píng)審時(shí)遇到過(guò),而且還是一名老員工的代碼,呵呵。
            2008-10-24 07:28 | Tony Bai

            # re: c語(yǔ)言(a < b < c )的陷阱  回復(fù)  更多評(píng)論   

            這種代碼確實(shí)要避開. 不過(guò)有時(shí)候還是能帶來(lái)一些便利的

            我公司不少老員工是c精,
            寫的代碼中有不少特殊語(yǔ)法, 結(jié)構(gòu)很精簡(jiǎn), 但是我很多都讀不懂, 所以我?guī)缀鯚o(wú)法維護(hù).
            2008-10-24 13:56 | Khan's Notebook

            # re: c語(yǔ)言(a < b < c )的陷阱  回復(fù)  更多評(píng)論   

            a<b<c 還真的能用?我一直認(rèn)為是錯(cuò)的。
            2008-10-25 16:52 | 金山詞霸2008

            # re: c語(yǔ)言(a < b < c )的陷阱[未登錄](méi)  回復(fù)  更多評(píng)論   

            小弟剛學(xué)C的時(shí)候也被陰過(guò) ⊙﹏⊙b汗
            #include <stdio.h>
            main()
            { int a=5,b=4,c=3,d;
            d=(a>b>c);
            printf("%d\n",d);
            }

            剛開始我總都弄不明白為什么是0,以為是1
            2009-07-23 11:39 | C

            # re: c語(yǔ)言(a < b < c )的陷阱  回復(fù)  更多評(píng)論   

            有些陷阱的確一不小心就掉下去了,比如 -1 < 0U 為 false
            2009-08-22 20:41 | Rye
            亚洲精品乱码久久久久久| 久久影视综合亚洲| 久久国内免费视频| 久久精品一本到99热免费| 久久99热这里只频精品6| 亚洲∧v久久久无码精品| 少妇久久久久久久久久| 久久99国产综合精品女同| 国产一区二区三区久久| 久久97久久97精品免视看秋霞| 日韩一区二区久久久久久 | 99久久成人国产精品免费| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 66精品综合久久久久久久| 综合久久精品色| 日韩一区二区久久久久久| 久久精品成人欧美大片| 青青青青久久精品国产| 久久精品国产免费观看| 国产高潮国产高潮久久久91| 久久AV高潮AV无码AV| 久久精品国产亚洲5555| 久久99精品国产99久久6男男| 日韩va亚洲va欧美va久久| 久久国产精品久久国产精品| 婷婷伊人久久大香线蕉AV| 热综合一本伊人久久精品| 亚洲国产天堂久久综合网站 | 国产精品九九久久免费视频| 精品国产青草久久久久福利| 欧美久久天天综合香蕉伊| 精品一区二区久久久久久久网站| 久久久国产视频| 日日狠狠久久偷偷色综合免费| 国产精品18久久久久久vr| 久久精品国产99久久无毒不卡 | 色综合久久久久综合体桃花网| 中文字幕久久亚洲一区| 亚洲&#228;v永久无码精品天堂久久 | 久久久久国产视频电影| 国产精品欧美久久久久无广告|