这段代码其实是有很多bug,不过在要求比较简单的情况下。也没有大问题。
这个代码是假设已经给str[]分配了足够的空间。那么在初始化时,其实整个数组已经用 \0填充满了。只要你的字符串是变长,而不是变短。那么后端自然就是 \0
将b[100]先初始化,可以解决问题
#include
#include
int main()
{
void num_space(char a[],char b[]);
char a[100],b[100]="";
printf("请输入任意四位来数:");
gets(a);
num_space(a,b);
printf("%s\n",b);
return 0;
}
void num_space(char a[100],char b[100])
{
int i,j=0;
for(i=0;a[i]!='\0';i++)
{
b[j++]=a[i];
b[j++]=' ';
}
}