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

2021-07-04 15:47:06 字數 3631 閱讀 9607

1樓:

要不然'\x41'怎麼叫做a的“轉義”字元!因為c規定轉義字元'\x41'中\是轉義字元引導符,後跟一個x表示x後面的數字是十六進位制表示法,用''括起來表示一位元組ascii碼。按這種解釋,'\x41'不就和0x41是一回事嗎?

它們都表示字元a或a的ascii碼值!

2樓:杳哈哈哈

\x說明的是十六進位制啊

然後4*16+1=65。a的ascii碼就是65啊。。所以輸出就是a了。

附:格式符x,功能:輸出無符號16進位制整數(無字首0x)格式符o,功能:輸出無符號8進位制整數(無字首0)

3樓:匿名使用者

那是轉義序列, 16進位制常量才用0x打頭,

c語言,十六進位制數0x開頭都對嗎?

4樓:王后

其中的x是大寫還是小寫都無所謂的不過內要注意:必須是整型常量

容才是0x(或0x)開頭如果是字元常量,應是\x開頭,如'\x41'就是表示大寫'a'用十六進位制表示整數和字元這兩者的不同,需要注意區別。

1、16進位制常數的表示,以0x或0x開頭

2、轉義字元中的16進位制數,以x開頭,不能以x開頭

3、單字元資料中,反斜槓後面跟0,若其後有0-7的數字跟隨,則表示其後的數是8進位制數,若有其它數或字元跟隨,則屬於錯誤(但編譯不一定報錯,會自動取最後一個字元)。

4、反斜槓後可以直接跟0-7間的數字,視為8進位制數,最多三個,可以少於3個。

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

\0x41是16進位制數,字元常量'\0x41'表示什麼?

5樓:匿名使用者

大寫字元a

a的ascii碼為65,即十六進位制的41

6樓:匿名使用者

'\0x41' 沒有這樣的寫法吧

0x41是整數的十六進位制表示形式,沒有前面的斜槓\'\x41'是一個轉義字元,十六進位制形式ascii表示的字元‘\x41’表示的是大寫字母a

c語言裡 轉義字元 \0x不表示十六進位制嗎

7樓:梅南風瀋陽

數值型常量一定是數字開頭,0開始的是八進位制數,0x開始的是十六進位制數,是規定,轉義字元是以'\'開始的,其後跟著的要麼是八進位制數,要麼是十六進位制數,八進位制數以0開始,十六進位制數以x開始,這是約定俗成的東西了,我們不去討論其是否有更合理,更人性化的替代方案,只需這麼做即可。

8樓:吉祥二進位制

char a = \x7a; //直接這樣寫就可以啦。

char b = 0x7a; //直接這樣寫就可以啦。

如你所寫,就把錯啦,字元是那樣表示的嘛。別看你編譯成功了,但是有警告的: warning c4305:

'initializing' : truncation from 'const int' to 'char'

答題不容易,大家互相幫助,望採納,謝謝!

c語言,十六進位制數0x,0x開頭都對嗎?

9樓:

是的,其中的x是大寫還是小寫都無所謂的

不過要注意:必須是整型常量才是0x(或0x)開頭如果是字元常量,應是\x開頭,如'\x41'就是表示大寫'a'

用十六進位制表示整數和字元這兩者的不同,需要注意區別

c語言,轉義字元'\101'為什麼為字元a。8進位制不是0開頭嗎??

10樓:御千破鬥

不用區復分,不用轉義字元的制是十進位制,用bai‘\xhh’的就是十六進位制,du用 \加數字zhi

且數字的任意dao一位都不超過8的就是8進位制例如:‘\101’‘\010’‘\000’是合法8進位制,如上‘\080’‘\12f’等就是非法的,不是八進位制。

11樓:匿名使用者

在轉義字元中,八進位制前面的0是可以省略的,即'\101'等價於'\0101'.

但是十六進位制前面的x就不可省咯。

12樓:半吊子仙

轉義字元中,規定用 \ooo表示3為八進位制(ooo代表三位八進位制的數),即\101,\102這樣形式的,回如果用列印出來答的話,就會分別被轉義為大寫的a、b。

而十六進位制的轉義字元規定為\xhh,注意這裡的十六進位制數字只有兩位,即\x表示採用16進位制,而後面兩位hh代表16進位制的數,比如\x41,\x42,轉義後也表示a、b。

如果要表示數值的話,比如10進位制數值65,用八進位制表示就是0o101,用16進製表示就是0x42,就是說從數值上來講 0o101 = 0x42 = 65,而ascii碼錶的65代表的是a,所以,你新增轉義符後,\101 和\x42都表示a

c語言轉義字元\0xaa是什麼意思?

13樓:一籃子陽春白雪

轉義字bai符是c語言中表示字元du的一種特zhi殊形式。通常使用轉義dao字元表示版ascii碼字符集中不權可列印的控制字元和特定功能的字元,如用於表示字元常量的單撇號

( '),用於表示字串常量的雙撇號( ")和反斜槓( /)等。轉義字元用反斜槓/後面跟一個字元或一個八進位制或十六進位制數表示。 轉義字元 意義 ascii碼值(十進位制)

\056  這種形式是 8 進位制數 056 對應的字元

\x5a  這種形式是 16 進位制數 0x5a 對應的字元

\0xaa 如果看成轉義字元,只能是 字串結束符 \0,  後面的xaa 輸出時將不起字元作用。

'\0xaa'  作為16進位制數值 可看成 0x00784141.

最好不要這麼用。

為什麼16進位制的數是以0x開頭的?

14樓:馬雲飛

規定的,沒什麼大的問題,

但是也可以不要ox, 例如 a33,沒有ox表示也是十六進位制的數,加上只是為了更加 直觀的讓人知道是16進位制 的數。

15樓:

0x開頭的0x12其十進位制值是18

如果不以0x開頭 12就是12

就這點區別

如果你的常量裡面本來就有字母,如abc12d就預設為十六進位制數

16樓:

是 你看如果不是0x開頭

例如16進位制的 ab10 它是標示符還是16進位制數啊 不能分辨吧

c語言轉義字元\0xaa是什麼意思?具體講講。

17樓:金色潛鳥

\056 這種形式是 8 進位制數 056 對應的字元\x5a 這種形式是 16 進位制數 0x5a 對應的字元\0xaa 如果看成轉義字元,只能是 字串結束符 \0, 後面的xaa 輸出時將不起字元作用。

'\0xaa' 作為16進位制數值 可看成 0x00784141.

最好不要這麼用。

18樓:無敵天聖

假如是\0x開頭的話,那麼是十六進位制的字元編碼,到底是什麼編碼看系統內部怎麼實現,大部分是asc碼

假如是\0開頭的話,是八進位制形式的

c語言轉義字元和有什麼區別啊c語言轉義字元x和X有什麼區別啊

c語言轉義字元 x 和 x 區別為 ascii碼值不同 表示不同。一 ascii碼值不同 1 轉義字元 x 轉義字元 x 的ascii碼值為120。2 轉義字元 x 轉義字元 x 的ascii碼值為88。二 不同 1 轉義字元 x 轉義字元 x 表示後面的字元是十六進位制數。2 轉義字元 x 轉義字...

C中,x 2 為什麼錯,C語言中X 和 X有什麼區別?

具體是什麼 要實現什麼功能 因為這不是一個數式呀!因為2是一個編譯時常量 不能作為左值 程式執行時不會分配記憶體,它儲存不了 運算的結果。還是你沒有看好題目,計算出現錯誤了。因為在c中 的優先順序高於 除法運算,所以先執行2 但2又是常量,不分配記憶體區域,不能進行自增運算。所以不對 你好 現在回答...

c語言中為什麼a 0不是字元常量?為什麼a 1 a是錯的?a a 1表示什麼

1.你這個 不bai是單字元,是三個字元,嚴格du說你這個是zhi一個字串,你dao這個是一個值,左邊沒有常回量名 2.賦值答號的左邊不能是表示式,只能是變數,這個不管是什麼語言都是這樣規定的 3.a a 1,應該是先a a a,然後a a 1 a 看到了嗎?這個是字元常量,你那個是字串常量 c中字...