? 轉(zhuǎn)義字符(Escape character),所有的ASCII碼都可以用“\”加數(shù)字(一般是8進制數(shù)字)來表示。而C中定義了一些字母前加""來表示常見的那些不能顯示的ASCII字符,如\0,\t,\n等,就稱為轉(zhuǎn)義字符,因為后面的字符,都不是它本來的ASCII字符意思了。

| 轉(zhuǎn)義字符 | 釋義 |
|---|---|
| ? | 在書寫連續(xù)多個問號時使用,防止他們被解析成三字母詞 |
| \` | 用于表示字符常量` |
| \" | 用于表示一個字符產(chǎn)內(nèi)部的雙引號 |
| \\ | 用于表示一個反斜杠,防止它被解釋為一個轉(zhuǎn)義序列符 |
| \a | 警告字符,蜂鳴 |
| \b | 退格符 |
| \f | 進紙符 |
| 換行 | |
| \r | 回車 |
| \t | 水平制表符 |
| \v | 垂直制表符 |
| \ddd | ddd表示1~3個八進制的數(shù)字。如:\130X |
| \xdd | dd表示2個十六進制數(shù)字。如:\x30 0 |
在某些編譯器下 ,會將 “ ??) ” 解析成 三字母詞 “ ] ” ,
所以在打印 “ ??) ”時,為了防止被解析成三字母詞,在它前面加 " \",改成 ” ??) “ 。
像這樣打印單引號時會造成編譯器無法編譯:
printf("%c",''');在 ’ 前面加 \ 將它轉(zhuǎn)義就可以打印出來了,
像這樣
printf( "%c",' \' ');
與 \` 用法相同,這里就不再贅述了。
用來表示一個反斜杠,防止它被解釋為一個轉(zhuǎn)義序列符,
當你想打印一個文件路徑時,如果直接這樣寫:
printf("c:\test\test.c");那打印出來的結(jié)果將是這樣的:

這是因為 \t 會被編譯器解析為水平制表符,
正確的寫法是在 \ 的前面加 \ 進行轉(zhuǎn)義, 防止被解析為 \t,
printf("c:\\test\\test.c");打印出來的結(jié)果是這樣的:
在打印 \a 時會觸發(fā)電腦上的蜂鳴器.。
ddd表示1-3個八進制的數(shù)字。將ddd三個數(shù)字轉(zhuǎn)換成十進制,十進制數(shù)對應的ASCAII就是結(jié)果。
猜一猜下面的代碼打印出的是什么?
printf("%c",'\130');
?為什么會是X?
因為輸出結(jié)果為字符型,將八進制數(shù)字130轉(zhuǎn)換為十進制為88,然后輸出在[ASCII表](ASCII_百度百科 (baidu.com))中對應的字符X。
如果輸出類型為整型,打印的結(jié)果就是八進制130轉(zhuǎn)換為十進制的結(jié)果
像這樣:
printf("%d",'\130');
? 其實 \ddd 最多只支持三位數(shù)字,并且三位數(shù)字也不是任意的(每個數(shù)字不能大于8,一旦大于8它就不是八進制數(shù)了),一旦大于等于八進制數(shù) '/400 '(十進制256=8進制400)就超過了ascall碼的范圍,編譯器就會報錯。另外大于三位,或者遇到非八進制數(shù)字時則轉(zhuǎn)換結(jié)束,直接取末尾數(shù)字。
同樣首先要了解的是dd表示2個十六進制數(shù),
猜一猜下面的代碼打印出的是什么?
printf("%c",'\x30');
為什么是0呢?
因為輸出結(jié)果為字符型,將十六進制數(shù)字30轉(zhuǎn)換為十進制為48,然后輸出在ASCII表中對應的字符 0。
同樣的,如果輸出類型為整型,打印的結(jié)果就是十六進制30轉(zhuǎn)換為十進制的結(jié)果。
printf("%d",'\x30');
1. 猜猜下面的代碼打印的數(shù)字是多少?
printf("%d",strlen("qwer t"));答案是:

為什么是6呢?
所以打印的結(jié)果就是6了。
2. 再猜猜下面的代碼打印的數(shù)字是多少?
printf("%d",strlen("c:\test\628\test.c"));答案是:
為什么是14呢?
因為這個字符串中有轉(zhuǎn)義字符存在。
紅色方框里的部分都會被轉(zhuǎn)義成一個字符,
這里要注意這里的628不是八進制數(shù)字,62是八進制數(shù)字
八進制數(shù)字每個數(shù)字大不能大于7,大于7就要進位了。
所以一共有14個字符。
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
本文題目:C語言——轉(zhuǎn)義字符-創(chuàng)新互聯(lián)
鏈接地址:http://www.chinadenli.net/article14/dchhge.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航、搜索引擎優(yōu)化、Google、網(wǎng)站建設、網(wǎng)頁設計公司、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容