Re: c:本來要把一行拆成兩行

看板Programming作者時間17年前 (2007/08/16 21:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
> ==>發信人: tinlans.bbs@whshs.cs.nccu.edu.tw (汀), 信區: programming > ※ 引述《jiannrong@kkcity.com.tw ( )》之銘言: > > 請教一下,我本來要把一行拆成兩行,使用了\ > > 可是我發現在dev-c++與c-free這兩套編譯軟體, > > 有沒有使用\都是可以的,那樣就不對了啊, > > 這樣那一行沒有用;結束,那為什麼編輯軟體編譯時可以接受呢? > C 本來就沒有嚴格要求這種東西, > 空白和換行都只不過是分隔字元, > 而 ; 是 simple statement 的結尾, > 前面有幾個空白字元都沒差。 > 在定義多行 macro 的時候可能會用到, > 不過它本身其實並不算 C language 的一部份: > #define XXXXXXX \ > 第二行 \ > 第三行 \ > 最後一行 > C 的 string literal 也有可能用到: > "第一行\ > 第二行\ > 最後一行" > 其它地方是用不到的。 "\" 在 unix 系統裡是相當於 ascii 字串的 escape code , 它的意 思是接在 "\" 後面的 control character 字元代表的 control function 將被跳過, 或者說將被特別解釋, \CR 在編輯器裡就是在 CR(carrier return)之後接著的下一行字元是接續在 \CR 之前, 看 似兩行, 卻是連成一整橫行之意. 這是因為老UNIX是用 tty (teletype, 打字電報機) 當終端機, 而 tty 原先是通訊連線用的, ascii 碼就是後來又配合設計給終端連 線傳送字符用的. 但 "\" 則是在UNIX系統慣用, 是可見的符號, 並 不是印不出來的 ESC character. 優點是能顯示列印, 讓人看得見, 缺點是每經過一次處理再轉存或轉送時, 就會從字串裡取掉 \ . 例 如 unix style 的 shell 就會把 command line 裡的 "\\" 變成 "\" . 由於 \ 是特定符號, 如果要將含 "\" 字元的字串傳送給下一個程 式就必須再塞入 "\" 成為 "\\". 很不幸, big5 中文碼用到這個字元, 如 "許" , "功" , 而 MS 是 拿 "\" 當 path 裡的分隔符號, 所以涉及這三種(UNIX, MS-Window, BIG5 中文) 混用的需特別留意. -- ◎ Origin: 中央松濤站□bbs.csie.ncu.edu.tw From: 140.115.6.234
文章代碼(AID): #16n4gE00 (Programming)