[英]changing char by subtracting its ASCII code in c language
我正在为我的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]; i++;
}
}
如果要打印此文件,它只会给我ASCII码,而不是与之关联的字母。 我该如何将ASCII码转换成字母? 还是有更好的方法
你要:
test[i] = orig[i] - 1;
如果我要打印此文件,它只会给我ASCII码
那只是意味着您没有正确打印它。 这应该工作:
printf("orig: %s, transformed: %s\n", orig, test);
在C中, char
是整数类型。 无需在代码和字母之间进行转换:字母就是代码。 例如,在ASCII系统上'a' == 97
。
换句话说,您可以简单地执行str[i]--;
直接(假设您的平台使用ASCII)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.