一个关于c语言简单题目,望大家看一下是否有误(关于数组反序)

#include <stdio.h>
void main()
{
char a[4];
printf("请输入一个四位的十六进制整数:\n");

for(int i=0;i<4;i++)
    scanf("%s",&a[i]);

for(int i=0;i<4;i++)
    printf("您输出的四位十六进制整数为:%s",a[i]);
    
for(int j=3;j>=0;j--)
    printf("它的反序为:%s",a[j]);

}

输入输出的格式控制符用错了,%c, 不是 %s, 设了很多坑。注意:假设输入:ABCD,四个字符间不需加空格。修改如下,供参考:

#include <stdio.h>
void main()
{
    char a[4];

    printf("请输入一个四位的十六进制整数:\n");
    for(int i=0;i<4;i++)
        scanf("%c",&a[i]);

    printf("您输出的四位十六进制整数为:");
    for(int i=0;i<4;i++)
        printf("%c",a[i]);
    printf("\n");

    printf("它的反序为:");
    for(int j=3;j>=0;j--)
        printf("%c",a[j]);

}

img

没看出错误。