数组翻转出现错误的问题


#define _CRT_SECURE_NO_WARNINGS 1
#include 
#include
int main()
{

    char a[10], b[10], c[20]={0};
    int m;
    scanf("%s%s", a, b);               //输入a,b的值
    int sz1 = strlen(a);
    int sz2 = strlen(b);
    for (m = 0; m < sz1; m++)
    {
        c[m] = a[m];
    }
    for (m = 0; m < sz2; m++)
    {
        c[sz1 + m] = b[m];
    }
    printf("%s\n", c);
    int i;
    char t;
    int j;

    //反转算法
    for (i = 0; i < sz1+sz2/ 2; i++)
    {
        t = c[i];
        c[i] = c[sz1+sz2  - i];
        c[sz1+sz2  - i] = t;
    }
    for (j = 0; j < sz1+sz2; j++)
    {
        printf("%d", c[j]);
    }
    printf("\n");
}

img


为什么最后没输出数组翻转后的数呢?

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<string.h>
int main()
{
 
    char a[10], b[10], c[20]={0};
    int m;
    scanf("%s%s", a, b);               //输入a,b的值
    int sz1 = strlen(a);
    int sz2 = strlen(b);
    for (m = 0; m < sz1; m++)
    {
        c[m] = a[m];
    }
    for (m = 0; m < sz2; m++)
    {
        c[sz1 + m] = b[m];
    }
    printf("%s\n", c);
    int i;
    char t;
    int j;
 
    //反转算法
    for (i = 0; i < (sz1+sz2)/ 2; i++)
    {
        t = c[i];
        c[i] = c[sz1+sz2  - i-1];
        c[sz1+sz2  - i-1] = t;
    }
    for (j = 0; j < sz1+sz2; j++)
    {
        printf("%c", c[j]);
    }
    printf("\n");

}