【发布时间】:2014-08-16 19:31:56
【问题描述】:
我到处都看到过这样的例子:
int i = 2;
char c = i + '0';
string s;
s += char(i + '0');
但是,我还没有看到为什么添加零可以进行转换的解释。
【问题讨论】:
-
c++ 中的
char(i + '0');是什么? (这是一个实际问题。) -
@this 它在 topcoder 上编译:/
-
@this,它是整数
i加上'0'提升为整数,结果被转换为具有函数样式转换的char,其作用与 C 相同-风格的演员。 -
这些答案没有提到的是完全允许字符集不兼容 ASCII。但是,如果发生这种情况,这仍然适用于
i∈[0, 9],因为数字字符的字符代码保证是连续的。如果您想要一个不兼容 ASCII 的字符集示例,请查看 EBCDIC。数字'0'-'9'的字符代码分别为240-249。
标签: c++ char int type-conversion