目錄
創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站建設、網(wǎng)站制作與策劃設計,竹溪網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設十載,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:竹溪等地區(qū)。竹溪做網(wǎng)站價格咨詢:135182197921.什么是轉義字符?
2.轉義字符都有什么功能?
3.轉義字符的應用舉例
? 1.調(diào)整輸出格式
? 2.輸出一些特殊的字符
? 3.輸出文件路徑
4.一個有趣的小測試
轉義字符是一種特殊的字符常量.轉義字符以反斜線"\"開頭,后跟一個或幾個字符,轉義字符具有特定的含義,不同于字符原有的意義,故稱“轉義”字符。通過轉義字符,我們可以鍵入一些我們鍵盤上面沒有的字符,用“\”加數(shù)字(一般是8進制數(shù)字)來表示所有ASCII碼表對應的字符
2.轉義字符都有什么功能?那么都有什么轉義字符呢,以及它們都有什么功能呢?下表列出了一些常見的轉義字符以及其對應的功能:
轉義字符 | 功能 |
\? | 在書寫連續(xù)多個問號時使用,防止被解釋為三字母詞 |
\' | 表示字符常量‘ |
\" | 表示一個字符串內(nèi)部的雙引號 |
\\ | 表示一個反斜杠,防止被解釋為一個轉義序列符 |
\a | 警告字符,蜂鳴 |
\b | 退格符 |
\f | 進紙符(換頁符) |
換行符 | |
\r | 回車 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd | ddd表示1-3個8進制數(shù)字。如\120 |
\xdd | dd表示1-2個16進制數(shù)字。如\x20 |
在我們編程的時候,為了輸出美觀,經(jīng)常會使用'\n','\t'等等轉義字符來控制輸出格式,使得輸出的內(nèi)容顯得井然有序,美觀。
? 2.輸出一些特殊的字符? 當一個字符串中有些字符具有特殊含義時,而我們又想要將它們打印出來,就可以使用到轉義字符,當我們想要輸出下面三個字符串時:
printf("hello"world\n"); //輸出 hello"world
printf("abcd\ndef\n"); //輸出 abcd\ndef
printf("hello\0world\n"); //輸出 hello\0world
? 顯然,直接這樣打印輸出并無法達到我們想要的效果,因為編譯器不會把?”,\n和\0當作普通字符來處理。此時,我們就可以在這些具有特殊功能的字符前加上一個‘\’,使其意義轉變,讓編譯器解釋為普通字符,如下:
printf("hello\"world\n"); //輸出 hello"world
printf("abcd\\ndef\n"); //輸出 abcd\ndef
printf("hello\\0world\n"); //輸出 hello\0world
? 這個時候編譯運行,程序就會輸出我們想要的結果:
? 3.輸出文件路徑? 有時候我們會想在屏幕上打印一個文件的路徑,比如說:c:\c_language\text_12_3\add.c
如果我們直接進行打印,路徑中的\t與\a會被編譯器當作轉義字符,使最終打印的結果不理想:
這時我們可以在‘\’前再加上一個‘\’,?防止它被解釋為一個轉義序列符,就可以輸出我們想要的內(nèi)容:
4.一個有趣的小測試關于轉義字符的功能還有很多,這里就不一一贅述了,剩下的留給讀者自行感受!
? 看了這么多內(nèi)容,讓我們來做一道測試題練練手吧:
int main()
{
printf("%d", strlen("c:\text\628\text.c"));
return 0;
}
? 猜一猜結果是什么,18?17?還是其他數(shù)字?
? 編譯運行程序可以得出答案:
? 字符串的長度為14,14個字符分別為:
‘c’,‘:‘,‘\t’,‘e’,‘x’,‘t’,'\62','8‘,’\t’,‘e’,‘x’,‘t’,'.',‘c’
? 其中,由于8不屬于八進制,因此‘\62’和‘8’為兩個字符?。怎么樣,是不是和你想的答案一樣!
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧