c語言轉義字元中出現8,97992代表什麼佔

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

1樓:匿名使用者

\8,表示八進位制的8(換算為十進位制就是8,十六進位制的8)的ascii碼所對應的符號,即退格,也就是將當前位置移到前一列;

至於\97和\992,我認為是有問題的,因為轉子字元只有八進位制和十六進位制的表示,八進位制是直接帶數字的,十六進位制用x表示,所以\ddd中ddd表示的數字應該是八進位制,也就不可能出現大於7的數字,\xdd表示的是十六進位制,各位的數字是從0~f。

當然,如果只看位元組的話,那\8,\97 ,\992都應該是隻佔一個位元組的。

具體表示什麼,建議寫程式把\97 ,\992賦值給一個char型變數,然後再把他打出來,同時也把他的數值列印出來,看能否列印,一般應該是會有告警的或者壓根編譯不通過。

我這邊給你試了下:

**如下:

#include

int main()

char temp1, temp2;

temp1 = \97;

temp2 = \992;

printf("temp1=%c,value=%d\n",temp1,temp1);

printf("temp2=%c,value=%d\n",temp2,temp2);

return 0;

編譯不通過,如下圖:

所以,你這個肯定是寫錯了。

2樓:

\ddd表示八進位制轉義字元,\xdd表示十六進位制轉義字元,所以這三個不是轉義字元,或者是錯誤的八進位制轉義字元

c語言中,有規定'\ddd'為八進位制轉義符,那麼我如何知道'\101'為八進位制轉義符,代表'a',還是從ascii碼裡找

3樓:匿名使用者

^'\101'中的101是八進位制數,將其轉換為十進位制為65,8^2*1+8^1*0+8^0*1=65。

\代表轉義字元,所有的ascii碼都可以用“\”加數字(一般是8進位制數字)來表示。而c中定義了一些字母前加"\"來表示常見的那些不能顯示的ascii字元,如\0,\t,\n等,就稱為轉義字元,因為後面的字元,都不是它本來的ascii字元意思了。

ascii 碼65~90為26個大寫英文字母,65代表a。

4樓:

轉義字元中,用數字(ascii碼)代表字元的只有'\ddd'和'\xdd',前者是八進位制,後者十六進位制(注意x就是x,不代表數字)。至於'\101',不含x,那就不是十六進位制而是八進位制,

(101)8=[1*(8^2)+0*(8^1)+1*(8^0)]10=(65)10,查ascii碼錶可知是字元'a'

5樓:oh丶很好啊

八進位制 101=65 ascii a對應十進位制值65 e 對應十進位制值101化為八進位制135 就為‘\135’

6樓:匿名使用者

我覺得'\ddd'中的'\'表示轉義字元,此時\後面數字為8進位制;若''裡面沒有\,則從ascii碼裡找。

c語言中的轉義字元\ddd :1-3位進位制數ddd對應的符號是什麼意思呢?

7樓:手機使用者

\ddd中 ddd對應

復 1~3位八進位制數。制

\xhh 中 hh 對應 1-2位16進位制數。

舉例說。

\101 ,101是8進位制數,轉換為10進位制是65,那麼\101 對應的字元就是數字65對應的字元(請參考assic表),就是a。同理 \102 對應的字元就是b.

8樓:匿名使用者

\ddd 這樣的:

如果是八進位制數,那就是

回: \***

如果是16進位制數,就是: \xhh

比如你遇答到一個 \076 代表的就是八進位制數76你遇到一個 \x1a 你遇到的就是16進位制數0x1a

9樓:

以上的都錯了,搞清楚,書上是這樣說的:

\ddd指的是1到3位八進位制數所代表

版的字元;

\xhh指的是1到2位十六進權

制數所代表的字元;

比如:"\101"代表asc碼(八進位制數)為101的字元'a'。八進位制101相當於十進位制65.

"\x2a"代表十六進位制數2a(即十進位制數42)即代表字元"*".

c語言轉義字元\ddd和\xhh什麼意思啊?

10樓:匿名使用者

反斜槓(\)開頭是叫轉bai義序列du(escape sequence),

\ddd我覺得有問題,zhi

應該是\ooo才對,

因為反斜槓後dao直接加數內

字表示的是八容

進位制(octal), 而不是十進位制(decimal),比如 char ch = '\101';

等價於 char ch = 0101; (以0開頭的表示八進位制)\xhh, 裡面是x是固定的,表示十六進位制(hexadecimal),h也表示十六進位制

舉例,char ch = '\x41'; 就是用十六進位制來表示,它與前面的'\101'是等價的。

可用如下**證明它們等價

#include

int main()

11樓:武燳天

\ddd是輸出八進位制轉ascii碼的

\101輸出'a'

\12輸出就是換行符

\xhh 十六進位制輸出轉ascii碼

\x41輸出'a'

\xa輸出就是換行符

12樓:匿名使用者

'\ddd'中你每個d可以用數字代替,是八進位制,像’\101‘表示字元’a',而‘\xhh'中的每個h可以用0~f中的一個代替,是十六進位制,比如’\x41'也表示字元‘a'。

c語言轉義字元

13樓:吉祥二進位制

字元常量中使用單引號和反斜槓以及字元常量中使用雙引號和反斜槓時,都必須使用轉義字元表示,即在這些字元前加上反斜槓。下圖是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 中驗證)。

14樓:匿名使用者

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

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

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

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

15樓:

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

\141’ 0是可以寫的。

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

16樓:詩芮茆可

%d表示十進位制有符號整數

\n表示回車換行

\t表示橫向跳到下一製表位置(每個製表位置相差8個字元)\b表示退格,將當前位置移到前一列

這段**就是輸出inum1,inum2,inum3至於\n,\t,\b(還有\r(回車,將當前位置移動到本行的開頭),\\(反斜線字元“\”),\'(單引號符),\''(雙引號符),\ddd(1~3位八進位制數所代表的字元),\xhh(1~2位十六進位制數所代表的字元))這些效果,我建議一一的在平臺上打出**,才能看出效果。

我個人建議用microsoft

visual

studio

2005來編寫c語言,這是微軟提供的程式設計的.net平臺,很好用,更能性強大。

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

花花浪客 斜槓 在c裡面是轉義字元,輸出的時候 t表示輸出一個tab 製表符,通常4個空格位置 r是回車,就是回到這一行的開頭,n是換行,就是到下一行。而 b是退格鍵,相當於鍵盤上的backspace。那麼ab c t de rf tg n在輸出的時候,前面先輸出abc de之後,由於 r跳到本行開...

C語言轉義字元x41為A,為什麼??16進位制不是0x41嗎?0x開頭

要不然 x41 怎麼叫做a的 轉義 字元!因為c規定轉義字元 x41 中 是轉義字元引導符,後跟一個x表示x後面的數字是十六進位制表示法,用 括起來表示一位元組ascii碼。按這種解釋,x41 不就和0x41是一回事嗎?它們都表示字元a或a的ascii碼值! 杳哈哈哈 x說明的是十六進位制啊 然後4...

c語言刪除字串中指定字元,C語言刪除字串中指定字元

加百列 一 問題描述 從鍵盤輸入一個字串給str和一個字元給c,刪除str中的所有字元c並輸出刪除後的字串str。1 輸入 第一行是一個字串 第二行是一個字元。2 輸出 刪除指定字元後的字串。二 設計思路 1 同插入問題,定義兩個字元陣列a,b。以及標誌刪除位置的int型pos。2 用gets函式輸...