关于字符串倒着打印#字符串#的问题,如何解决?

我想把一个字符串中的某一个字符拷贝到另一个字符数组中去,检验一遍确是这样的,我想或许是‘\0’的问题,改成pa[2]问题就解决了,
但为什么它会倒着打印出来,我把a首元素赋给pa的首元素,再不济也应该是qweer,但结果确是qqweer
恳请大家不吝指教,谢谢

#include

int main()
{
    char a[]= {"qweer"};
    char pa[]= {0};
    char pb[]= {0};

    *pa=*a;
    *pb=*(a+2);

    printf("%s\n",pa);
    printf("%s\n",pb);

    return 0;
}

结果:
qqweer
eqqweer


char pa[]= {0};
    char pb[]= {0};

这种写法,数组只分配了一个字节啊,等于pa和pb字符串没有字符串结束符了,改成char pa[2]={0}就可以保证有字符串结束符

你说对了,就是\0的问题
因为数组长度只有1,没有结束符,那么按照%s打印的时候,指针必须指到\0才会结束,导致了越界
pa的内存和a的内存是连续的,打印完pa就继续打印a了
pb也一样,打印完pb打印pa,再打印a,直到\0
当然你换个编译器,分配内存的方式换了,那么打印的也可能变成乱码