2013-10-10 47 views
0

我寫一個程序中,我初始化字符數組如下理解字符數組的初始化行爲

char array[28] = "\19TTTxxxxxxx Protocol\x00\x00\x00\x00\x00\x00\x00\x00"; 

但上述說法發出警告說,「初始化字符串太長」。但是當我將其更改爲\20時,它不會給出警告。

有人可以解釋這裏發生了什麼嗎?

回答

2

"\20"是一個八進制值爲020的單個字符。"\19"是兩個字符,第一個是八進制值01,第二個是'9'

9不是八進制數字。

+0

有關更多詳細信息,請查閱規範,部分** 6.4.4.4字符常量**。 –