这个程序为啥运行不出来呢

#include<stdio.h>
int main()
{char blank(int x,char y[]);
int a; char b[7];
printf("请输入四位数字\n");
scanf("%d",&a);
blank (a,b);
puts(b);
return 0;
}
char blank (int x,char y[])
{int a[4],j,i;
a[3]=x/1000;
a[2]=(x-a[3]*1000)/100;
a[1]=(x-a[3]*1000-a[2]*100)/10;
a[0]=x-a[3]*1000-a[2]100-a[1]10;
for(i=0;i<4;i++)
{y[2
i]=a[i];
y[2
i+1]=' ';}
return 0;
}

char b[7]改为char b[8]

char blank (int x,char y[])
{int a[4],j,i;
a[3]=x/1000;
a[2]=(x-a[3]*1000)/100;
a[1]=(x-a[3]*1000-a[2]*100)/10;
a[0]=x-a[3]*1000-a[2]*100-a[1]*10;
for(i=0;i<4;i++)
{
//a[i]是数字,y[i]是字符,数字要转字符要加'0'
y[2*i]=a[i]+'0';
y[2*i+1]=' ';}
//字符结尾加结束符
y[7]='\0';
return 0;
}

程序语法都不对球。。。建议编代码使用CLion,VScode都行啊。。。

语法给你改对了,逻辑自己研究吧。

#include<stdio.h>

char blank(int x, char y[]);

int main() {
    int a;
    char b[8];
    printf("请输入四位数字\n");
    scanf("%d", &a);
    blank(a, b);
    for (int i = 0; i < 8; i++) {
        printf("%d\n", b[i]);
    }
    return 0;
}

char blank(int x, char y[]) {
    int a[4], j, i;
    a[3] = x / 1000;
    a[2] = (x - a[3] * 1000) / 100;
    a[1] = (x - a[3] * 1000 - a[2] * 100) / 10;
    a[0] = x - a[3] * 1000 - a[2]*100 - a[1] / 10;
    for (i = 0; i < 4; i++) {
        y[2*i] = a[i];
        y[2*i + 1] = ' ';
    }
    return 0;
}
```c


```