这是有关C语法的问题。
我有一个一字节长的字符变量,因此我将其初始化:
const char timeband = "\xe";
这会将其初始化为十进制值14。我使用十六进制,因为我不知道如何在初始化程序中指定十进制。我该怎么办?
使用赋值语句或八进制设置值不是一种选择。
编辑:我应该说
const char timeband[1] = "\xe";
我仍然想摆脱十六进制。使用'\ xe'不能回答问题。
答案 0 :(得分:4)
我想您正在寻找const char timeband[1] = { 14 };
,无需花十六进制表示法。
答案 1 :(得分:4)
无法在字符串文字中指定十进制字符值。
您可以做到
const char timeband[1] = { 14 };
对于长字符串,这种初始化可以很快地完成乏味的工作:
const char foo[] = { '1', '2', '3', 14 };
但是,如果要十进制,这就是您所拥有的。
答案 2 :(得分:1)
对于单字符,您需要使用单引号:
const char timeband = '\xe';
答案 3 :(得分:-2)
我要回答我自己的问题:
您无法做到。