各位,这个怎么调用子函数

#include<stdio.h>

#include<string.h>

int main()

{

 char str1[100],str2[100];

    int n,i,j;

    gets(str1);

    n=strlen(str1);

 for(i=0,j=0;i<n;i++)

  {

   if(str1[i]<='9'&&str1[i]>='0')

     str2[j++]=str1[i];

   else if(str1[i+1]<='9'&&str1[i+1]>='0')

     str2[j++]=' ';

     }

     str2[j]='\0';

    for(i=0;i<n;i++)

    {

     printf("%c",str1[i]);

 }

 printf("\n");

 for(i=0;i<n;i++)

    {

     printf("%c",str2[i]);

 }

 printf("\n");

 return 0;

}

供参考:

#include<stdio.h>
#include<string.h>

void copy_dig(char *str1,char *str2);

int main()

{
    char str1[100],str2[100];
    int i,j;
    gets(str1);
    copy_dig(str1,str2);
    for(i=0;str1[i]!='\0';i++)
    {
     printf("%c",str1[i]);

    }
    printf("\n");
    for(i=0;str2[i]!='\0';i++)
    {
     printf("%c",str2[i]);
    }
    printf("\n");
    system("pause");
    return 0;
}

void copy_dig(char *str1,char *str2)
{
   int n,i,j;
   n=strlen(str1);
   for(i=0,j=0;i<n;i++)
   {
       if(str1[i]<='9'&&str1[i]>='0')
                   str2[j++]=str1[i];
       else if(str1[i+1]<='9'&&str1[i+1]>='0')
                    str2[j++]=' ';
    }
    str2[j]='\0';
}

这个代码里,没有供调用的子函数,也不需要调用子函数啊。