如何将单个字符变量初始化为十进制数(使用初始化程序)

时间:2018-11-28 06:35:28

标签: c syntax

这是有关C语法的问题。

我有一个一字节长的字符变量,因此我将其初始化:

const char timeband = "\xe";

这会将其初始化为十进制值14。我使用十六进制,因为我不知道如何在初始化程序中指定十进制。我该怎么办?

使用赋值语句或八进制设置值不是一种选择。

编辑:我应该说

const char timeband[1] = "\xe";

我仍然想摆脱十六进制。使用'\ xe'不能回答问题。

4 个答案:

答案 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)

我要回答我自己的问题:

您无法做到。