【发布时间】:2016-08-29 14:52:39
【问题描述】:
我很好奇这是如何产生所提供的输出的。输出为 4,这是字母表中的第 5 个字符(这是预期的),随后的字母字符一直工作到 z 字符,它也返回 25。
示例程序
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "e";
int numericalvalue = ((str[0]) - 'a'); //this line of code im trying to understand
cout << numericalvalue;
return 0;
}
【问题讨论】:
-
你熟悉 ASCII 表吗?
-
字符在内部只是数字(参见 ASCII 表),您所做的就是减去字符所代表的数字。
-
是的,但是字符 e 的十进制值是 101。这是从它中减去 a 的值然后返回它吗?
-
没有必要对合法问题投反对票。用户可能是编程新手。
-
是的,它所做的只是 101(e) - 97(a),结果为 4
标签: c++