我正在编写一个程序,我正在初始化一个char数组,如下所示
char array[28] = "\19TTTxxxxxxx Protocol\x00\x00\x00\x00\x00\x00\x00\x00";
但是上面的语句给出了“初始化字符串太长”的警告。但是当我将其更改为\20
时,它不会发出警告。
有人可以解释这里发生的事情吗?
答案 0 :(得分:2)
"\20"
是一个八进制值为020的单个字符。"\19"
是两个字符,第一个是八进制值01,第二个是'9'
。
9不是八进制数字。