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

無我

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

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 閱讀(5998) 評論(0)  編輯 收藏 引用 所屬分類: C/C++語言

<2012年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

導航

統計

公告

本博客原創文章,歡迎轉載和交流。不過請注明以下信息:
作者:TimWu
郵箱:timfly@yeah.net
來源:m.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>
            国产视频久久网| 久久久爽爽爽美女图片| 欧美日韩在线精品| 欧美日韩国产高清| 欧美少妇一区| 国产精品入口日韩视频大尺度| 欧美视频亚洲视频| 国产伦精品一区二区三区免费迷 | 亚洲国产一区二区三区高清| 久久国产精品久久w女人spa| 久久久91精品| 欧美sm视频| 99在线精品免费视频九九视| 亚洲欧美大片| 久久综合网色—综合色88| 欧美区亚洲区| 国产一区二区三区电影在线观看| 在线日韩中文| 亚洲小视频在线| 欧美日韩福利视频| 国产精品无码专区在线观看| 一区二区视频在线观看| 亚洲国产精品视频一区| 亚洲香蕉在线观看| 欧美成人亚洲成人| 亚洲一二三区在线观看| 久久er99精品| 欧美日韩精选| 在线观看日韩www视频免费| 在线亚洲观看| 久久综合亚州| 一区二区三区高清在线观看| 久久综合久久久| 国产精品午夜国产小视频| 亚洲欧洲精品一区二区三区不卡 | 免费视频久久| 亚洲视频欧美在线| 欧美成人亚洲成人| 国产亚洲欧洲一区高清在线观看 | 99精品国产99久久久久久福利| 欧美在线影院| 欧美午夜电影网| 亚洲区免费影片| 久久久999精品免费| 亚洲小视频在线| 欧美母乳在线| 亚洲三级免费电影| 欧美.com| 久久免费的精品国产v∧| 国产欧美一区二区三区沐欲| 国产精品99久久不卡二区| 亚洲福利视频网| 久久久久久久成人| 国产在线观看精品一区二区三区| 亚洲欧美在线aaa| 一本久久精品一区二区| 欧美日韩成人综合天天影院| 亚洲免费大片| 亚洲欧洲精品一区二区三区不卡 | 国产精品久久久一本精品| 日韩视频免费观看高清完整版| 美女免费视频一区| 久久精品视频在线免费观看| 国内精品伊人久久久久av影院 | 亚洲福利一区| 女女同性精品视频| 亚洲卡通欧美制服中文| 亚洲大片av| 久久在线免费| 久久蜜桃香蕉精品一区二区三区| 好男人免费精品视频| 久久久久久夜精品精品免费| 久久狠狠久久综合桃花| 黄色精品一区二区| 欧美福利视频一区| 欧美精品国产| 亚洲五月婷婷| 亚洲男女自偷自拍| 狠狠做深爱婷婷久久综合一区| 老**午夜毛片一区二区三区| 蜜桃av久久久亚洲精品| 日韩午夜电影在线观看| 中文国产成人精品| 狠狠色2019综合网| 91久久精品美女高潮| 欧美四级剧情无删版影片| 欧美综合国产精品久久丁香| 久久精品国产精品亚洲综合| 亚洲人成在线播放| 在线亚洲精品| 在线观看91精品国产麻豆| 亚洲精品欧美| 欧美高清视频在线播放| 欧美日韩免费观看中文| 欧美在线资源| 欧美精品91| 久久精品91| 欧美激情亚洲综合一区| 欧美日韩亚洲系列| 久久亚洲综合网| 欧美日韩一区二区三区在线| 久久久水蜜桃| 欧美色123| 裸体素人女欧美日韩| 欧美日韩亚洲一区在线观看| 久久亚洲私人国产精品va| 欧美日韩国产限制| 久久中文在线| 国产精品美女久久久免费| 欧美顶级少妇做爰| 国产视频一区在线观看一区免费| 亚洲国产小视频| 精品999在线播放| 亚洲视频免费| 一本色道久久88亚洲综合88| 久久精品国产免费看久久精品| 一区二区三区四区五区视频 | 欧美日本亚洲韩国国产| 久久青草欧美一区二区三区| 欧美三级韩国三级日本三斤| 久久综合中文色婷婷| 国产精品狼人久久影院观看方式| 亚洲国产另类 国产精品国产免费| 国产女人18毛片水18精品| 亚洲乱码国产乱码精品精可以看 | 一区二区三区高清不卡| 久久久欧美精品| 欧美在线三区| 国产精品色网| 亚洲网址在线| 亚洲一区免费看| 欧美精品123区| 亚洲福利视频一区| 亚洲区第一页| 欧美激情中文不卡| 欧美韩国一区| 亚洲高清在线视频| 久热精品在线| 欧美二区在线看| 亚洲人线精品午夜| 欧美成人一区二区三区片免费| 美腿丝袜亚洲色图| 亚洲成色999久久网站| 久久亚洲欧洲| 亚洲国产成人av好男人在线观看| 亚洲国产99| 男男成人高潮片免费网站| 欧美成人精品一区| 亚洲日本在线视频观看| 欧美激情视频给我| 夜夜嗨av一区二区三区免费区| 亚洲视频福利| 国产精自产拍久久久久久| 欧美在线观看一区二区| 免费欧美高清视频| 亚洲精品1234| 欧美日韩直播| 欧美一区=区| 亚洲动漫精品| 亚洲一区二区三区精品在线| 国产老女人精品毛片久久| 午夜精彩国产免费不卡不顿大片| 久久精品国产96久久久香蕉| 国内不卡一区二区三区| 欧美成人免费大片| 亚洲最新在线视频| 久久免费国产| av成人毛片| 国产综合色产在线精品| 欧美a级大片| 亚洲午夜日本在线观看| 女人色偷偷aa久久天堂| 亚洲专区欧美专区| 在线成人免费观看| 欧美三区在线视频| 久久精品人人做人人爽| 亚洲美女毛片| 久热爱精品视频线路一| 亚洲视频在线看| 在线免费观看日本欧美| 欧美日一区二区在线观看| 可以看av的网站久久看| 在线一区亚洲| 亚洲高清一区二| 欧美亚洲免费在线| 亚洲美女在线观看| 好看的日韩av电影| 国产精品成人一区二区艾草| 久久国产精品一区二区三区| 日韩小视频在线观看专区| 美女精品一区| 欧美一区二区三区免费观看| 99精品99| 亚洲第一毛片| 国外成人免费视频| 国产精品欧美精品| 欧美日韩一区在线| 欧美成人精品在线视频| 久久久青草婷婷精品综合日韩| 久久精品成人一区二区三区蜜臀 |