所以,让我们说一个字母包含字母" a":
int main() {
int i=8;
char test2[2]="a"+i;
return 0;
}
我只想在该字母的ASCII值中添加5。因此test2将包含" h",因为h的ASCII值为a + 8的ASCII值。
有一种简单的方法吗?我试过谷歌搜索,我认为这是一个基本的事情,但我显然错过了一个简单的方法来做到这一点。非常感谢任何帮助。
答案 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;
}