因为我们可以打印ASCII码并在C中递增它 - > e.g:
{
char ch='A';
ch++;
printf("%d",ch);
}
这将在控制台上输出“66”。
如何在C ++中完成?
答案 0 :(得分:4)
printf
将像在C ++中一样工作。但是如果你想使用cout
,你只需要施放:
char ch = 'A';
ch++;
std::cout << static_cast<int>(ch);
答案 1 :(得分:4)
是的,只需在输出之前将其强制转换为int
,这样它就不会被解释为字符:
char ch = 'A';
ch++;
std::cout << static_cast<int>(ch);
但请注意,不能保证输出与字符'B'
对应的值。如果您的执行字符集是ASCII或其他一些理智的字符集,那么它将是,但是不能保证标准中有关您的执行字符集(除了数字数字字符0
到{{1}之外) },具有连续值。)
答案 2 :(得分:4)
不需要演员阵容:
{
char ch='A';
ch++;
std::cout << ch << ": " << +ch << '\n';
}
答案 3 :(得分:2)
可以用完全相同的方式在C ++中完成:
{
char ch='A';
ch++;
printf("%d",ch);
}
答案 4 :(得分:1)
接受这样一个事实:C和C ++都不坚持编码是ASCII(虽然它在桌面计算机上无处不在),但你提供的代码是有效的C ++。
在许多方面(尽管不是全部),C ++是C的超集。