c语言中通过减去字符的ASCII码来更改字符
我正在为我的c语言学习做一些弦乐工作坊。有一个问题,当您要求用户输入时,比如说“bob”,代码会降低其ASCII代码,使其变为“ana”。我不知道该怎么做。会是这样吗c语言中通过减去字符的ASCII码来更改字符,c,ascii,C,Ascii,我正在为我的c语言学习做一些弦乐工作坊。有一个问题,当您要求用户输入时,比如说“bob”,代码会降低其ASCII代码,使其变为“ana”。我不知道该怎么做。会是这样吗 int main() { char str[10]; char test[10]; int i; printf("Enter a string: "); scanf("%s", str); while(str[i]!='\0') { test[i]=str[i];
int main() {
char str[10];
char test[10];
int i;
printf("Enter a string: ");
scanf("%s", str);
while(str[i]!='\0') {
test[i]=str[i]; i++;
}
}
如果我要打印它,它只会给我ASCII码,而不是与之相关的字母。我如何将ASCII码转换成字母?或者有没有更好的方法您想要:
test[i] = orig[i] - 1;
如果我要打印它,它只会给我ASCII码 这只意味着您没有正确打印它。这应该起作用:
printf("orig: %s, transformed: %s\n", orig, test);
你想要:
test[i] = orig[i] - 1;
如果我要打印它,它只会给我ASCII码 这只意味着您没有正确打印它。这应该起作用:
printf("orig: %s, transformed: %s\n", orig, test);
在C语言中,
char
是一种整数类型。不需要在代码和字母之间转换:字母就是代码。例如,在ASCII系统上,'a'==97
换句话说,您只需执行
str[i]--
直接(假设您的平台使用ASCII)。在C中,char
是整数类型。不需要在代码和字母之间转换:字母就是代码。例如,在ASCII系统上,'a'==97
换句话说,您只需执行
str[i]--
直接(假设您的平台使用ASCII)。变量声明中没有a[]
。请把你真正编译的代码贴出来。另外,为什么要将str
设置为char
数组,而test
设置为int
数组?i
未初始化。您还没有终止测试
数组(假设您的真实代码打印了它)。“如果我打印它,它只会给我ASCII代码,而不是与之相关的字母。”请准确地告诉我们您是如何打印的。还显示一个包含输入和输出示例的运行。变量声明中没有a[]
。请把你真正编译的代码贴出来。另外,为什么要将str
设置为char
数组,而test
设置为int
数组?i
未初始化。您还没有终止测试
数组(假设您的真实代码打印了它)。“如果我打印它,它只会给我ASCII代码,而不是与之相关的字母。”请准确地告诉我们您是如何打印的。还显示了一个包含输入和输出示例的运行。谢谢,也来自下面的帖子的帮助,我不需要担心整个转换的事情。谢谢,也来自下面的帖子的帮助,我不需要担心整个转换的事情。谢谢,我不知道你不必担心转换什么的,帮了你大忙,不知道你不用担心转换什么的,帮了你大忙