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

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

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語言中並沒有bai 字串這個型別 du。所說的字zhi符串就是字元dao陣列。也就是char型別版的陣列。與普通陣列不同的,權字串必須以 0 作為結束符。而在c語言中,型別為t的一維陣列,其首地址等效於該型別的一維指標,即t 型。於是字串,也就是字元陣列,首地址就可以當做char 型使用了。事實...

c語言問題答案為什麼選c語言問題,答案為什麼選b

個人覺得答案是a有問題 16位 int是2個位元組,所以指標移動一個位元組很明顯是出問題了另外這個儲存單元指的是定義的資料型別佔用的空間大小,指標移動一個位置與指標移動一個儲存單元是一樣的,並沒有什麼問題,不知道答案b是怎麼得出來的 不管是移動2個位元組,1個位置,1個單元,本身就沒有問題,這個取決...

c語言中yx3y,x1,x1是什麼意思

這是bai考試題?考逗號表達du式嗎?你這個問題本身zhi 就有問題,你dao的y沒有初值。內我只能假設容y 1分析給你看 首先計算x 3 y,結果賦給x,假設是3 然後計算x 1,用上面的結果就是3 1了,就是4.逗號表示式取最右邊表示式的結果賦值。那麼 x 3 y,x 1 這個表示式的結果就是4...