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語言轉義字元中出現8,97992代表什麼佔
8,表示八進位制的8 換算為十進位制就是8,十六進位制的8 的ascii碼所對應的符號,即退格,也就是將當前位置移到前一列 至於 97和 992,我認為是有問題的,因為轉子字元只有八進位制和十六進位制的表示,八進位制是直接帶數字的,十六進位制用x表示,所以 ddd中ddd表示的數字應該是八進位制,也...
c語言,字元陣列中最後字必須為 0 ,為什麼錯
八哥說科技 c語言中字元陣列並沒有規定最後一個字元為 0 甚至可以不包含 0 新增 0 作為結束標誌是針對於c語言對字串的處理而言的,因此,字元陣列中最後一個字必須為 0 是錯誤的。c語言中沒有字串型別,字串是存放在字元型陣列中的。在c語言中,是將字串作為字元陣列來處理的。為了測定字串的實際長度,c...
c語言問題結果為什麼是,c語言問題結果為什麼是0???
4 2.0的結果是個double,它佔用8個位元組,double格式的2.0在記憶體中是這樣存放的 00 00 00 00 00 00 00 40 至於為什麼這樣存放,三言兩語數不清楚,你要是感興趣就搜尋ieee754浮點數規則自己看看 double格式2.0的低位4個位元組全是0,而printf的...