这种ASCII码转换实在不明白,求解!!

img

把所有数字存到数组a中
遍历数组
输出(char)a【i】

https://baike.baidu.com/item/ASCII/309296?fr=aladdin
看一下ASCII和十进制数的对应关系
这就相当于你读入了一个int但是以%c的形式去输出它,那它会认为你输出的是字符的ASCII值就会自动转换成字符;同理输入char但是以整形的形式去输出,就会转换成ASCII值输出


#include<stdio.h>
int main() {
    int a[13] = { 72,101,108,108,111,44,32,119,111,114,108,100,33};
    char b[13] = { 'H','e','l','l','o',',',' ','w','o','r','l','d','!'};
    for (int i = 0; i < 13; i++) {
        printf("%d\t", a[i]);
    }
    printf("\n");
    for (int i = 0; i < 13; i++) {
        printf("%c\t", a[i]);
    }
    printf("\n");
    printf("\n");
    for (int i = 0; i < 13; i++) {
        printf("%c\t", b[i]);
    }
    printf("\n");
    for (int i = 0; i < 13; i++) {
        printf("%d\t", b[i]);
    }
    return 0;
}

img

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^