// 注釋語句 ??/a=b+c;
請注意代碼中的“??/”,就是這注釋隱藏的很深,讓項目一拖再拖。
"??/"會被編譯器當作 /,變成C語言的換行符(多行代碼連接符)。
于是這段代碼等同于// 注釋語句 a = b+c ;就會被注釋掉。
下面我們就是說說“??/”這種“三字母詞”的內容。
什么是“三字母詞”
在ANSI標準中,定義了“三字母詞”,或者成為“三聯(lián)符序列”,英文為"trigraph sequences"。目的主要是為了在一些特定的字符集中,比如一些七位代碼集中,解決一些特定字符的輸入問題。
也許是由于這些字符集我們基本上用不到,所以在大多數(shù)C語言的書籍中,我們都看不到對“三字母詞”的講解。這里資料來源于參考ANSI C99標準(即傳說中的《American National Standards Institute for Programming Languages-C》 1999年,我們習慣簡稱為“C99”)。“三字母詞”主要有9個,分別為:
printf("Eh???/n");
相當于:
printf("Eh/n");
例子2:一個我們容易犯的錯誤(摘自《Pointers On C》)
printf("Delete file (are you really sure??):");
運行結果為(三字母詞“??)”編譯時替換為“]”):
Delete file (are you really sure]:
而不是我們想象中的:
Delete file (are you really sure??):
最后
由于編譯器的種類各樣,對ANSI C的支持也不一樣,所以可能會有些C語言編譯器不處理“三字母詞”,會將它們當做普通的字符串來處理。審核編輯 :李倩
-
字符
+關注
關注
0文章
237瀏覽量
25584 -
代碼
+關注
關注
30文章
4900瀏覽量
70670
原文標題:接盤前同事項目,被字符“??/ ”坑慘
文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
場效應三極管的型號命名方法
如何辯別場效應管與三極管
Proteus 8*8數(shù)碼顯示管編譯26位字母和0-9數(shù)字代碼
變壓器規(guī)格型號容量功率解答
M0518用串口接收數(shù)據(jù)時,第一個字節(jié)是正常的,為什么后面的第二、三字節(jié)卻是亂的?
MCS51三字節(jié)無符號除法程序(ASM)
三字節(jié)二進制無符號數(shù)除以單字節(jié)二進制數(shù)
場效應三極管的型號命名方法及參數(shù)
場效應三極管的型號
如何有效提高機器人伺服電機的過載能力?
電流互感器的型號表示及作用
C語言中的“三字母詞”是什么
一文了解場效應三極管型號規(guī)則及參數(shù)含義

評論