青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

無我

讓內心永遠燃燒著偉大的光明的精神之火!
靈活的思考,嚴謹的實現
豪邁的氣魄、頑強的意志和周全的思考

C語言嵌套注釋

          《C陷阱與缺陷》中有一個有意思的問題:“某些C編譯器允許嵌套注釋。請寫一個測試程序,要求:無論是對允許嵌套注釋的編譯器,還是對不允許嵌套注釋的編譯器,該程序都能正常通過編譯(無錯誤消息出現),但是這兩種情況下程序執行的結果卻不相同。
 (提示:在用引號括起來的字符串中,注釋符I*屬于字符串的一部分,而在注釋中出現的雙引號””又屬于注釋的一部分。)”

         我覺得這對C的詞法分析挺有意思的。要是聰明的您,有什么辦法呢?

         以下是作者給出的答案,確實很精妙,尤其第二個。

         ——為了判斷編譯器是否允許嵌套注釋,必須找到這樣一組符號序列,無論是對于允許嵌套注釋的編譯器,還是不允許嵌套注釋的編譯器,它都是合法的;但是,對于兩類不同的編譯器,它卻意味著不同的事物。這樣一組符號序列不可避免地要涉及嵌套注釋,讓我們從這里開始討論:
       /*/**/
       對于一個允許嵌套注釋的C編譯器,無論上面的符號序列后面跟什么,都屬于注釋的一部分;而對于不允許嵌套注釋的C編譯器,后面跟的就是實實在在的代碼內容。也許有人因此想到可以在后面再跟一個用一對引號引起的注釋結束符:
      /*/**/ "*/"

       如果允許嵌套注釋,上面的符號序列就等效于一個引號;如果不允許,那么就等效于一個字符串"*I"。因此,我們可以接著在后面跟一個注釋開始符以及一個引號:

      /*/**/ "*/"/*"
       如果允許嵌套注釋,上面就等效于用一對引號引起的注釋開始符"/*";如果不允許,那么就等效于一個用引號括起的注釋結束符,后跟一段未結束的注釋。我們可以簡單地讓最后的注釋結束:
      /*/**/ "*/"/*" /**/
    這樣,如果允許嵌套注釋,上面的表達式就等效于"/*",:如果不允許,那么就等效于,"*/"。

    在我用基本上類似于上面的形式解決這個問題之后,Doug McIlroy發現了下面這個讓人拍案叫絕的解法:
    /*/*/0*/**/1
    這個解法主要利用了編譯器作詞法分析時的“大嘴法”規則。如果編譯器允許嵌套注釋,則上式將被解釋為:
     /*/*/0*/**/1
    兩個/*符號與兩個*/符號正好匹配,所以上式的值就是1。如果不允許嵌套注釋,注釋中的/*將被忽略。因此,即使卿出現在注釋中也沒有特殊的含義:上面的表達式因此將被這樣解釋:
     /*/*/0*/**/1
   它的值就是0*1,也就是0o

 

   上面利用一個特殊構造的字符串就完成了這個任務,果然精妙!

   而當時我對這個特殊字符串推導時沒有看到希望,用了宏來幫忙,設計了下面的程序:

#define A /* aaa /* a*/ a
#define B */

bool CanNesting()
{
#ifdef B
    
return false;
#else
    
return true;
#endif
}


   上面程序中,如果支持嵌套,B的宏定義屬于注釋的一部分,所以B應該沒有被定義,函數返回true。否則,就不支持嵌套,函數返回false。

posted on 2011-03-25 17:18 Tim 閱讀(6001) 評論(0)  編輯 收藏 引用 所屬分類: C/C++語言

<2011年3月>
272812345
6789101112
13141516171819
20212223242526
272829303112
3456789

導航

統計

公告

本博客原創文章,歡迎轉載和交流。不過請注明以下信息:
作者:TimWu
郵箱:timfly@yeah.net
來源:www.shnenglu.com/Tim
感謝您對我的支持!

留言簿(9)

隨筆分類(173)

IT

Life

搜索

積分與排名

最新隨筆

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美日韩一区二区视频在线| 国产精品一页| 亚洲乱码视频| 亚洲黄色在线| 欧美日韩精品欧美日韩精品| 在线综合亚洲欧美在线视频| 亚洲一区二区成人| 国产日韩精品一区二区浪潮av| 欧美一区二区三区视频免费播放| 性欧美超级视频| 亚洲国产成人tv| 亚洲品质自拍| 国产欧美一区二区三区久久| 久久午夜色播影院免费高清| 看欧美日韩国产| 亚洲男人天堂2024| 久久精彩视频| 一区二区三区免费网站| 欧美亚洲自偷自偷| 亚洲美女精品成人在线视频| 在线视频欧美一区| 一区二区三区亚洲| 亚洲另类黄色| 一区二区在线视频| 一区二区三区免费观看| 黄色欧美成人| 一区二区三区 在线观看视频| 国产午夜亚洲精品羞羞网站| 亚洲激情av| 国内精品久久久久久久97牛牛| 亚洲激情影院| 黑人一区二区| 一区二区三区视频在线观看| 在线精品国产成人综合| 亚洲少妇在线| 亚洲精品国产欧美| 久久www免费人成看片高清 | 欧美一区成人| 99www免费人成精品| 久久精品一区蜜桃臀影院 | 最新日韩在线视频| 午夜电影亚洲| 亚洲婷婷在线| 欧美国产日韩在线| 美女性感视频久久久| 国产精品乱码人人做人人爱| 亚洲黄色小视频| 亚洲国产精品一区二区久| 小黄鸭精品aⅴ导航网站入口| 在线性视频日韩欧美| 另类人畜视频在线| 奶水喷射视频一区| 一色屋精品视频在线观看网站| 亚洲性感激情| 亚洲一区精品电影| 欧美人成在线| 亚洲精一区二区三区| 亚洲美女av网站| 欧美成人中文字幕| 欧美激情aaaa| 最近中文字幕日韩精品| 美女黄色成人网| 免费在线一区二区| 亚洲黄色天堂| 免费不卡视频| 亚洲国产精品成人精品| 最新国产成人在线观看| 欧美大片一区二区| 亚洲国产乱码最新视频| 日韩视频在线免费观看| 欧美激情黄色片| 日韩系列在线| 亚洲欧美日韩天堂| 国产欧美日韩一区| 久久久久五月天| 欧美成年人视频网站| 亚洲精品五月天| 欧美日韩亚洲在线| 亚洲一区二区精品| 久久女同精品一区二区| 在线看国产日韩| 欧美精品一二三| 亚洲午夜精品久久| 久久久精品日韩欧美| 影音先锋久久| 欧美精品二区三区四区免费看视频| 91久久视频| 午夜精品福利在线| 国产真实久久| 欧美激情乱人伦| 在线综合欧美| 久久亚洲私人国产精品va| 亚洲日本欧美日韩高观看| 欧美日韩亚洲精品内裤| 午夜亚洲一区| 91久久综合亚洲鲁鲁五月天| 亚洲欧美日韩直播| 亚洲激情视频| 国产精品一区二区三区观看| 久久久女女女女999久久| 亚洲人成亚洲人成在线观看图片| 亚洲欧美日本国产专区一区| 一区二区视频欧美| 欧美日韩小视频| 久久久久久久综合狠狠综合| 日韩午夜在线电影| 免费不卡欧美自拍视频| 亚洲伊人观看| 亚洲欧洲日本专区| 国产一区二区三区在线观看精品 | 欧美日韩精品三区| 欧美在线视频免费观看| 亚洲伦理精品| 免费亚洲电影在线| 亚洲永久视频| 亚洲三级电影全部在线观看高清| 国产欧美精品一区二区色综合| 欧美成人免费全部观看天天性色| 午夜日本精品| 一区二区三区回区在观看免费视频| 媚黑女一区二区| 性欧美大战久久久久久久久| 亚洲日本乱码在线观看| 国产人成精品一区二区三| 欧美久久一区| 欧美不卡一区| 久久亚洲视频| 久久久精品一区| 欧美在线观看视频| 亚洲欧美日韩一区在线观看| 亚洲另类在线一区| 亚洲国产日韩在线| 欧美激情欧美狂野欧美精品 | 亚洲一区二区三区四区在线观看| 亚洲福利视频网| 伊人成人在线| 在线观看视频一区二区| 国产日韩欧美精品一区| 国产精品a级| 欧美视频导航| 国产精品高潮呻吟久久| 欧美午夜激情视频| 欧美网站在线观看| 国产精品福利在线观看| 国产精品成人aaaaa网站| 欧美日韩亚洲一区二区三区| 欧美日韩另类一区| 欧美午夜在线| 国产精品久久久久久超碰| 欧美天堂亚洲电影院在线播放| 欧美精品色网| 国产精品成人一区二区三区吃奶| 欧美午夜一区二区| 国产九九精品视频| 国产亚洲综合在线| 一区二区三区亚洲| 91久久夜色精品国产九色| 亚洲全部视频| 亚洲视频免费看| 香蕉国产精品偷在线观看不卡| 小嫩嫩精品导航| 久久亚洲精选| 亚洲电影专区| 一本色道久久综合狠狠躁的推荐| 亚洲午夜精品久久久久久浪潮| 亚洲欧美日韩精品在线| 久久久综合香蕉尹人综合网| 欧美h视频在线| 国产精品久久毛片a| 国产一区欧美日韩| 亚洲精品久久久久久久久| 亚洲无线视频| 麻豆9191精品国产| 亚洲美女中文字幕| 午夜国产欧美理论在线播放 | 亚洲国产高清自拍| 亚洲色无码播放| 久久精品导航| 欧美日韩一区二区免费在线观看 | 欧美成人69| 国产精品乱码一区二三区小蝌蚪 | 欧美午夜美女看片| 国产一区二区三区在线观看视频 | 国产精品影音先锋| 亚洲国产专区校园欧美| 亚洲一区欧美激情| 久久久久久久波多野高潮日日| 亚洲破处大片| 久久不射2019中文字幕| 欧美三区不卡| 亚洲第一视频网站| 欧美一区二区三区久久精品茉莉花 | 国产精品美女久久久| 一区二区亚洲| 欧美亚洲一区| 日韩亚洲成人av在线| 久久综合一区| 精品动漫av| 久久久久国产精品午夜一区| 99精品视频免费观看|