轉義字元的輸出,C語言裡的輸出轉義字元問題

時間 2021-08-11 17:32:36

1樓:花花浪客

斜槓\在c裡面是轉義字元,

輸出的時候\t表示輸出一個tab(製表符,通常4個空格位置)\r是回車,就是回到這一行的開頭,\n是換行,就是到下一行。而\b是退格鍵,相當於鍵盤上的backspace。

那麼ab c\t de\rf\tg\n在輸出的時候,前面先輸出abc de之後,由於\r跳到本行開頭了,所以後面輸出的f tg就把前面的ab c d覆蓋了(都是7個字元),所以總的輸出看上去就是f tge了

第二行的輸出的時候同理,注意下\b實際上就相當於我們輸錯了按一下backspace

2樓:金色潛鳥

按上面的輸出方式,則:

(1) 你的轉義字元都是控制字元,它們的輸出 按它們的功能 執行輸出, (或叫 執行它的 功能)。

(2) 普通字元,按字元 印出。

\t -- 造表鍵,跳到本行固定位置,例如 第8,16,24,(也有的系統按6,12,18)

\r -- 回車鍵,回到本行最左的位置

\n -- 新行鍵,跳到下一行最左位置

\b -- 回退一格。如果是 \t\b 就等於刪去 \t 的 功能。

*************************

\ddd 是寫8進位制的方法, 例如 \12 是8進位制, 就是 新行鍵

\xnn 是寫16 進位制的方法,例如 \x0a 就是 新行鍵

用 printf("%o %x", '\n', '\n'); 可以得到 新行鍵 的8 進位制值 和 16 進位制值

*************************

第一句語句比較簡單。注意 \r -- 回車鍵,回到本行最左的位置。前面輸出的東西保留在螢幕上。回到本行最左的位置 後 再輸出 f\tg, 覆蓋掉 白ab白c白 等。

printf("h\ti\b\bj k\n");

輸出h 跳到第8位 列印 i

第一個 \b 回退一格,移到 i 位置,抹去 i

第二個 \b 回退一格,移到 原 i 位置 的 左 面 1格。

列印 j 空 1 格 k.

得到你的結果。

3樓:

先了解下常見的轉義字元:

\\  輸出 \ 號

\a  警報

\b  退格符

\f  換頁符

\n  換行符

\r  回車符

\t  tab 符(橫向跳格)

\v  垂直跳格 tab 符

\? 輸出問號

\udd  使用數字指定的ascii 字元,如\u2000\ddd  使用八進位制數指定的ascii 字元,如\122\xdd  使用十六進位制數指定的ascii 字元,如\xc8\0  空值

再介紹下ascii對應字元(十進位制):

舉個例子,我想輸出大寫字母a,查到它的ascii碼是65,那我可以表示成:

\u65 或 \101 或 \x41

4樓:吉祥二進位制

字元常量中使用單引號和反斜槓以及字元常量中使用雙引號和反斜槓時,都必須使用轉義字元表示,即在這些字元前加上反斜槓。下圖是c語言中常用的轉義字元。

在c程式中使用轉義字元\ddd或者\xhh可以方便靈活地表示任意字元。\ ddd為斜槓後面跟三位八進位制數,該三位八進位制數的值即為對應的八進位制ascii碼值。\ x後面跟兩位十六進位制數,該兩位十六進位制數為對應字元的十六進位制ascii碼值。

使用轉義字元時需要注意以下問題:

1) 轉義字元中只能使用小寫字母,每個轉義字元只能看作一個字元。

2) \v 垂直製表和\f 換頁符對螢幕沒有任何影響,但會影響印表機執行響應操作。

3) 在c程式中,使用不可列印字元時,通常用轉義字元表示

注:1,\v垂直製表和\f換頁符對螢幕沒有任何影響,但會影響印表機執行響應操作。

2,\n其實應該叫回車換行。換行只是換一行,不改變游標的橫座標;回車只是回到行首,不改變游標的縱座標。

3,\t 游標向前移動四格或八格,可以在編譯器裡設定

4,\' 在字元裡(即單引號裡)使用。在字串裡(即雙引號裡)不需要,只要用 ' 即可。

5,\? 其實不必要。只要用 ? 就可以了(在windows vc6 和tc2 中驗證)。

5樓:北京歡迎你老大

\在字串中本身就是用來轉義的。

var a = 「\\」; 其實a的值就是一個\;

a=a.replace(/\\/, '\\\\');

6樓:

\ddd是表示八進位制'\108'是八進位制所以由於八進位制是0 1 2 3 4 5 6 7 組成。所以自然不能出現8的。

\141』 0是可以寫的。

\xhh是十六進位制 將它換成十進位制的ascii碼對應找到字元

7樓:匿名使用者

\ddd是用8進製表示字元的方法

\xdd是用16進製表示字元的方法

\x6d是表示0x6d序號的字元,也就是十進位制的109也就是'm'

\ddd表示方式使用八進位制表示字元,自然不能出現8了

8樓:無畏無知者

\r \n 表示回車換行啊,關於轉義字元是有個表的,看看吧

c語言裡的輸出轉義字元問題!!

9樓:匿名使用者

轉義字元是c語言中表示字元的一種特殊形式。通常使用轉義字元表示ascii碼字符集中不可列印的控制字元和特定功能的字元,如用於表示字元常量的單撇號( '),用於表示字串常量的雙撇號( ")和反斜槓( \)等。轉義字元用反斜槓\後面跟一個字元或一個八進位制或十六進位制數表示。

轉義字元 意義 ascii碼值(十進位制)

\a 響鈴(bel) 007

\b 退格(bs) 008

\f 換頁(ff) 012

\n 換行(lf) 010

\r 回車(cr) 013

\t 水平製表(ht) 009

\v 垂直製表(vt) 011

\\ 反斜槓 092

\? 問號字元 063

\' 單引號字元 039

\" 雙引號字元 034

\0 空字元(null) 000

\ddd 任意字元 三位八進位制

\xhh 任意字元 二位十六進位制

字元常量中使用單引號和反斜槓以及字元常量中使用雙引號和反斜槓時,都必須使用轉義字元表示,即在這些字元前加上反斜槓。

在c程式中使用轉義字元\ d d d或者\ x h h可以方便靈活地表示任意字元。\ d d d為斜槓後面跟三位八進位制數,該三位八進位制數的值即為對應的八進位制a s c i i碼值。\ x後面跟兩位十六進位制數,該兩位十六進位制數為對應字元的十六進位制a s c i i碼值。

使用轉義字元時需要注意以下問題:

1) 轉義字元中只能使用小寫字母,每個轉義字元只能看作一個字元。

2) \v 垂直製表和\f 換頁符對螢幕沒有任何影響,但會影響印表機執行響應操作。

3) 在c程式中,使用不可列印字元時,通常用轉義字元表示

注: 1,\v垂直製表和\f換頁符對螢幕沒有任何影響,但會影響印表機執行響應操作。

2,\n其實應該叫回車換行。換行只是換一行,不改變游標的橫座標;回車只是回到行首,不改變游標的縱座標。

3,\t 游標向前移動四格或八格,可以在編譯器裡設定

4,\' 在字元裡(即單引號裡)使用。在字串裡(即雙引號裡)不需要,只要用 ' 即可。

5,\? 其實不必要。只要用 ? 就可以了(在windows vc6 和tc2 中驗證)。

10樓:手繪星球

%d表示輸入或輸出十進位制有符號數;%f表示輸入或輸出浮點數(float,四位元組表示);在c語言中輸出不同資料時需要用到不同的格式字元,%d是用來輸出十進位制整型資料的實際長度輸出,%f是以小數形式輸出單、雙精度度數。以下是詳細介紹:

1、%d表示輸入或輸出十進位制有符號數;

2、%f表示輸入或輸出浮點數(float,四位元組表示);

3、另%lf表述輸入或輸出雙精度浮點數(double 8位元組表示);

4、在輸出不同資料時要用不同的的格式字元,比如說這個%d是用來輸出十進位制整型資料的實際長度輸出;%f是以小數形式輸出單、雙精度度數,隱含輸出6位小數;還有很多,如%s(輸出字串)

轉義字元的ascii碼怎麼輸出

11樓:枯井

輸出結果為什襲麼為'hi!':

'h':以%c方式bai輸出du,直接輸出字元'h'

105:以%c方式輸出,將十進位制zhi數字105作為ascii碼,輸出對應的字dao符'i'

'\41':以%c方式輸出,根據轉義字元'\'的轉義規則,'\41'被視為八進位制數,輸出對應的字元'!'

轉義規則:

\dd 任意字元 二位八進位制

\ddd 任意字元 三位八進位制

\xhh 任意字元 二位十六進位制

C語言,字串陣列的輸出,C語言 如何定義字串陣列

自我程式設計 getch 這句多餘,只是列印而已不需要這個函式接收字元。printf s n ch 0 printf s n ch 1 printf s n ch 2 這3句列印,第2個傳參和printf函式形參型別不一致,函式需要的是char 而你給的是char 12 執行可以,但會有警告。你想要...

c語言char輸出字串是亂碼,C語言,字串輸出是亂碼

重點是creatlist這個函式,datac必須是malloc分配出來的記憶體,不然就會出問題.應該是這樣的 p pdata malloc 256 scanf s p pdata 傑大哥哈哈哈 asadrcvs5 2 f amng bkuqte lzlr kxojfrc eqsauzx 夫婿久離別,...

C語言中如何刪除已經輸出的字元,C語言中如何刪除已經輸出的一個字元?

會飛的小兔子 文字模式下指定位置輸出 用 覆蓋掉 gotoxy 1,1 printf 1230123 gotoxy 7,1 printf 例 include intmain void printf 123 printf b c b 32 注意這裡 return0 擴充套件資料c語言刪除字串前面連續 ...