【发布时间】:2020-08-24 12:43:54
【问题描述】:
例如,我有一个字符 a,它的 ASCII 值为 97,我想将 10 添加到该 ASCII 值,但在这种情况下再次将其保存为字母 k。我怎样才能做到这一点?
(我想给出一个代码示例,但我没有。)
【问题讨论】:
-
字面意思就是
'a' + 10。 -
我并没有冒犯的意思,但如果你想加10,为什么不直接加10?
例如,我有一个字符 a,它的 ASCII 值为 97,我想将 10 添加到该 ASCII 值,但在这种情况下再次将其保存为字母 k。我怎样才能做到这一点?
(我想给出一个代码示例,但我没有。)
【问题讨论】:
'a' + 10。
只需添加 10 即可。
char letter = 97;
letter += 10;
printf("%c\n", letter);
【讨论】:
97和'a'没有区别;它们都产生整数九十七。以下两行是等价的:
char ch = 97;
char ch = 'a';
如何将十加到一个数字上?使用加法运算符或+=。
ch += 10;
因此以下将产生k:
printf("%c\n", ch);
这将输出一个值为 117 的字节,您的终端或编辑器或诸如此类的东西会将其解释为 k。
警告:此答案假定基于 ASCII 的机器。 'a' 在基于 EBCDIC 的机器上不等同于 97。此外,EBCDIC 中的字母不连续,因此添加 'a' + 10 不会得到 'k'。
【讨论】: