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

            Yiner的ACM

            成長(zhǎng)的痕跡
            <2011年3月>
            272812345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            統(tǒng)計(jì)

            • 隨筆 - 29
            • 文章 - 0
            • 評(píng)論 - 2
            • 引用 - 0

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            strcmp返回值布爾類型的判斷
            strcmp: 用于比較兩個(gè)字符串,原型如下:
            int strcmp ( char const *s1, char const *s2);
            如果s1小于s2,strcmp函數(shù)返回一個(gè)小于零的值。如果s1大于s2,函數(shù)返回一個(gè)大于零的值。如果兩個(gè)字符串相等,函數(shù)就返回零。

            警告:初學(xué)者常常會(huì)編寫下面這樣的表達(dá)式
                     if ( strcmp (a, b))
                他以為如果兩個(gè)字符串相等,它的結(jié)果將是真。但是,這個(gè)結(jié)果將正好相反,因?yàn)樵趦蓚€(gè)字符串相等的情況下返回值是零(假)。 把這個(gè)返回值當(dāng)作布爾值進(jìn)行測(cè)試是一種壞風(fēng)格,因?yàn)樗哂腥齻€(gè)截然不同的結(jié)果:小于、等于和大于。 所以更好的方法是把這個(gè)返回值與零進(jìn)行比較。

            當(dāng)然我們?cè)趯?shí)際工作中也經(jīng)常會(huì)碰到將其返回值與布爾值進(jìn)行判斷,我們來看下面這個(gè)例子:

               char a[];
               ……
            if ( !strcmp( a, "5"))
               {   printf(“equally!”);
               }else{
                   printf("unequal!");
               }

            在這個(gè)例子中我們分析下:
            如果a的值為5,則返回值為0,那么判斷也就成為 if(!(0)) ,(0)取反后為1 ,1位TRUE則判斷為 if( TRUE )
            如果a的值小于5,則返回一個(gè)負(fù)數(shù),而負(fù)數(shù)的取反是FALSE; 大于5,則返回一個(gè)正數(shù),正數(shù)的取反也是FALSE;
            因此上例中a 的值為5 則輸出 equally ; 不等于5都輸出 unequal

            我們可以做一個(gè)小測(cè)試 -1 、 0 、 1三數(shù)分別取反,會(huì)得到 0、1、0 。

            標(biāo)準(zhǔn)并沒有規(guī)定用于提示不相等的具體值。它只是說如果第一個(gè)字符串大于第二個(gè)字符串就返回一個(gè)大于零的值,如果第一個(gè)字符串小于第二個(gè)字符串就返回一個(gè)小于零的值。一個(gè)常見的錯(cuò)誤是一位返回值就是1和-1,分別代表大于和小于。這個(gè)假設(shè)并不總是成立。 (跟具體的編譯器有關(guān))
            轉(zhuǎn)自:http://piao8163.blog.163.com/blog/static/96972478200981343957704/

            posted on 2011-04-02 20:58 Yiner 閱讀(551) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            一级做a爰片久久毛片人呢| 久久久久久亚洲精品无码| 久久精品国产亚洲AV久| 亚洲国产成人精品久久久国产成人一区二区三区综| 久久亚洲精品中文字幕三区| 久久精品国产精品国产精品污| 国产成人AV综合久久| 99久久免费国产精品特黄| 亚洲午夜久久久久久噜噜噜| 久久r热这里有精品视频| 久久久久久久91精品免费观看| 久久久久亚洲AV无码专区体验 | 国产精品久久久久久久久久免费| 久久国产精品免费| 久久国产精品77777| 亚洲精品无码久久毛片| 久久久久夜夜夜精品国产| 久久综合久久美利坚合众国 | 久久久久国产一级毛片高清板 | 久久久精品国产免大香伊| 色综合久久综精品| 欧美一区二区三区久久综合| 亚洲欧美久久久久9999| 久久精品国产91久久综合麻豆自制 | 久久久久久亚洲精品不卡| 国产精品国色综合久久| 亚洲午夜久久久久久久久电影网| 久久精品无码一区二区app| 精品久久久久久无码中文字幕一区 | 最新久久免费视频| 国产亚洲精午夜久久久久久| 久久发布国产伦子伦精品| 77777亚洲午夜久久多喷| 中文字幕无码久久久| 亚洲国产日韩欧美久久| 久久精品国产清自在天天线| 久久久久无码精品国产| 老色鬼久久亚洲AV综合| 开心久久婷婷综合中文字幕| 国产精品丝袜久久久久久不卡| 伊人色综合久久天天|