给数字之间加空格,我的程序只输出一个数就没了

输入一个只含有数字字符的字符串,编写一函数,要求输出这个字符串,但每两个数字字符之间空一个空格。例如,输入“123456”,应输出“1 2 3 4 5 6”。我这只输出一个数就没了,是哪错了?


#include 
using namespace std;
void kongge(char a[])
{
    int i,j;
    char b[80]={0};
    b[0] = a[0];
    for (i = 1;a[i] != '\0';i++)
    {
        j = i + 1;
        b[j] = a[i];
        a[i] = ' ';
        j++;
    }

    for (i = 0;b[i] != '\0';i++)
        cout << b[i];
}
int main()
{
    cout << "输入一个只含有数字字符的字符串" << endl;
    char a[80];
    gets_s(a);
    kongge(a);
}

img

a[i] = ' ';
改为
b[i] = ' ';