c語言printf101輸出的為什麼是

2021-05-05 00:21:09 字數 1475 閱讀 3775

1樓:啊啊啊的帝國號

字元的表示方法有三種,

第一種是直接用字元表示就是用引號

char c1 = 'a'; //表示字元a第二種是用asc2碼錶示,是整數

char c2 = 97; //也是表示字元a第三種是用轉義字元表示

char c3 = '\141'; //這裡的141是八進位制數,也就是97,還是字元a

char c4 = '\x61'; //這裡的61是十六進位制數,也就是97,還是字元a

然而在這裡

"\101"由於加了轉義字元,表示101是一個八進位制數,將其轉換成十進位制就是65,也就是輸出asc2碼值為65的字元,也就是字元a

2樓:

\*** 是八進位制,

\0x**是十六進位制,

3樓:匿名使用者

\101中的101是八進位制的,也就是十進位制的65.所以printf("\101");就是輸出碼值為65的字元,也就是a

4樓:匿名使用者

/101是八進位制,變成十進位制等於65,a的ascii碼就是65。所以輸出a。

5樓:匿名使用者

看書後面的附錄,有個ascii碼對照表 101對應的是a

c語言中 print("\101\x42 c\n") 為什麼輸出值是a b c(

6樓:匿名使用者

\101是八進位制數65,也就是ascii裡的a,\x42是十六進位制數的66,也就是ascii裡的b,所以

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

7樓:御千破鬥

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

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

8樓:匿名使用者

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

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

9樓:半吊子仙

轉義字元中,規定用 \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語言怎麼用printf輸出字串

printf函式的一般格式 printf 格式控制字串,輸出表列 以圖1所示為例。圖1.函式引數包括兩部分 1 格式控制字串,是用雙引號括起來的字串,也稱為轉換控制字串,它指定輸出資料項的型別和格式。它包括兩種資訊 格式說明項 由 和格式字元組成,如 d,f等。格式說明總是由 字元開始,到格式字元終...

在C語言中,輸出語句printf10d ,c 中的10是什麼意思

10是指定的抄輸出欄位的寬度。襲如果資料的位數小於10,則左端補空格。若大於10,則按照實際位數輸出。10d是格式輸出,其中的10是指定的輸出欄位的寬度。printf的格式控制的完整格式 1 表示格式說明的起始符號,不可缺少。2 有 表示左對齊輸出,如省略表示右對齊輸出。3 0 有0表示指定空位填0...

c語言輸出,c語言輸出

首先解釋為什麼是負值 因為溢位了 111111 111111 12345654321超出了int能表示的範圍 可能你要問 不是已經 lld了嗎 沒錯 lld是用於long long型別的,但只代表輸出的時候按照longlong的型別輸出,並不能影響後面引數的實際型別對於整型常數,c語言預設都是int...