• <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),我們不能沒有錢
            隨筆 - 173, 文章 - 0, 評(píng)論 - 257, 引用 - 0
            數(shù)據(jù)加載中……

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

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

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

            網(wǎng)友給我扔來了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’’.

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

            C語言中. 雖然任何不等于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語言(a < b < c )的陷阱  回復(fù)  更多評(píng)論   

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

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

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

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

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

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

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

            小弟剛學(xué)C的時(shí)候也被陰過 ⊙﹏⊙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語言(a < b < c )的陷阱  回復(fù)  更多評(píng)論   

            有些陷阱的確一不小心就掉下去了,比如 -1 < 0U 為 false
            2009-08-22 20:41 | Rye
            狠狠久久综合| 精品熟女少妇av免费久久| 日产久久强奸免费的看| 亚洲午夜精品久久久久久浪潮 | 国产精品VIDEOSSEX久久发布| 久久综合久久鬼色| 成人资源影音先锋久久资源网| 久久夜色撩人精品国产| 精品永久久福利一区二区| 日韩AV毛片精品久久久| 99国产精品久久久久久久成人热| 久久有码中文字幕| 久久国产高清字幕中文| 伊人久久综合成人网| 人妻中文久久久久| 国产精品美女久久久免费| AAA级久久久精品无码片| 久久久久久曰本AV免费免费| 久久久黄片| 国产综合成人久久大片91| 国产精品久久99| 99久久人妻无码精品系列蜜桃| 亚洲成色www久久网站夜月| 国产精品99久久久精品无码| 亚洲欧洲久久av| 欧洲国产伦久久久久久久 | 青青青国产成人久久111网站| 久久精品一本到99热免费| 少妇无套内谢久久久久| 久久久久亚洲av成人网人人软件| 久久只有这里有精品4| 亚洲国产精品一区二区三区久久| 久久久久久国产精品美女| 久久九色综合九色99伊人| 亚洲精品高清一二区久久| 久久亚洲国产成人精品无码区| 精品一久久香蕉国产线看播放| 精品无码久久久久久久动漫| 久久久免费观成人影院| 国产精品久久久久a影院| 人妻久久久一区二区三区|