我很好奇这是如何产生提供的输出。输出为4,这是字母表中的第5个字符(预期),随后的字母字符一直工作到z字符,也返回25。
示例程序
.attr("itemValue");
答案 0 :(得分:3)
它与ASCII表有关。
它在集合中的字符被赋予唯一的整数。在您的情况下,文字'a'
在ASCII表中的值为97,而字符e
的值为101.通过减去101 - 97 = 4
,您将获得最终结果。
有关ASCII表的更多信息,请访问here
答案 1 :(得分:2)
char
是一个完整的类型,因此它可以隐式转换(具体来说,它经历整数提升)到类型int
。您可以使用基本char
表示的每个字符都具有0-255(或-128到127)之间的数字值。所以说' a' - ' 0'实际上是有效的,因为它与使用97 - 48
s int
完全一样。
答案 2 :(得分:1)
答案 3 :(得分:1)
char e = 'e';
char a = 'a';
std::cout << "e = " << static_cast<int>(e) << std::endl;
std::cout << "a = " << static_cast<int>(a) << std::endl;
计算机没有像#34;字符等#34;这样的抽象内容。
它们只适用于1和0(数字)。
计算机使用一个数字,但知道,一旦它在屏幕上打印出来,就可以使用.ttf文件中的图形表示该字符&#34;。