如何添加char字母的ascii值?

时间:2017-06-02 02:42:40

标签: c

所以,让我们说一个字母包含字母" a":

int main() {
int i=8;
char test2[2]="a"+i;
return 0;
}

我只想在该字母的ASCII值中添加5。因此test2将包含" h",因为h的ASCII值为a + 8的ASCII值。

有一种简单的方法吗?我试过谷歌搜索,我认为这是一个基本的事情,但我显然错过了一个简单的方法来做到这一点。非常感谢任何帮助。

4 个答案:

答案 0 :(得分:2)

您必须添加到char,而不是字符串:

char test2[2] = { 'a' + i, 0 };

答案 1 :(得分:1)

"a"不是字符,而是字符串。您需要单引号才能使用单个字符。

int i = 8;
char c = 'a' + i;
printf("c=%c\n", c);

输出:

c=i

答案 2 :(得分:0)

没有编译过这个,但是(int)'a' + i不会工作吗?

双引号不是char,它是一个字符串文字。

答案 3 :(得分:0)

在C中,字符默认包含ACSII值(整数)。在你的情况下,为了使你能够做到这一点,你必须这样做:

#include <stdio.h>

int main() {
char test2 = 'a' + 7;
printf("%c\n\n", test2); // just check
return 0;
}