• <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永久无码精品久久| 久久综合狠狠综合久久97色| 久久久久无码精品国产| 久久精品a亚洲国产v高清不卡| .精品久久久麻豆国产精品 | 一本一本久久a久久综合精品蜜桃| 国产亚洲精久久久久久无码77777 国产亚洲精品久久久久秋霞 | 99国内精品久久久久久久| 香蕉久久影院| 久久久久久久综合日本亚洲| 久久久久九九精品影院| 99国产欧美精品久久久蜜芽| 亚洲人AV永久一区二区三区久久| 久久久噜噜噜久久熟女AA片| 中文字幕精品久久| 精品一久久香蕉国产线看播放| 综合网日日天干夜夜久久| 午夜视频久久久久一区 | 亚洲国产精品无码久久青草 | 午夜精品久久久内射近拍高清| 久久中文字幕一区二区| 久久精品国产亚洲AV电影| 狠狠色丁香久久婷婷综合蜜芽五月| 91精品国产91热久久久久福利 | 久久婷婷成人综合色综合| 亚洲人成无码久久电影网站| 久久久精品日本一区二区三区| 久久不射电影网| 伊人久久大香线蕉影院95| 国产一级做a爰片久久毛片| 精品久久久久久亚洲精品| 久久婷婷五月综合国产尤物app| 久久精品中文无码资源站| 模特私拍国产精品久久| 久久久久亚洲AV无码专区首JN | 日韩精品久久无码中文字幕| 日韩乱码人妻无码中文字幕久久| 亚洲av成人无码久久精品 | 中文字幕日本人妻久久久免费| 久久久久久久精品成人热色戒| 久久精品国产亚洲AV影院|