请问大家这个怎么写啊

假定输入的字符串中只包含字母和号。请编写函数fun(),它的功能是:除了字符串前导的之外,将字符串中其他号全部删除。在编写函数时,不得使用C语言提供的字符串函数。例如,输入*ABC*DEFG***,删除后,字符串中的内容应当是ABCDEFG。

遍历字符串,将不是*号的字符放到字符串开头位置

#include <stdio.h>
int main()
{
      char s[100];
      int i=0,j=0,flag  = 1;
      gets(s);
      while(s[i] != '\0')
      {
          if(s[i] == '*')
          {
              if(flag == 1)
                 s[j++] = s[i];
          }
          else
          {
              flag = 0;
              s[j++] = s[i];
          }
          i++;
      }
      s[j] = 0;
      printf("%s",s);
}

char * fun(char *src,char *dest)
{
  char *p1,*p2;
  p1 = src,p2=dest;
  while(*p1)
 {
   if(*p1!='*‘)*p2++=*p1;
   p1++;
 }
 *p2 = 0;
return dest;
}


供参考:

#include <string.h>
#include <stdio.h>
void  fun(char* a)
{
    int flg = 0;
    char* p = a;
    while (*p) {
        if (*p == '*' && flg == 0) {
            *a++ = *p++;
        }
        else {
            flg = 1;
            if (*p != '*')
                *a++ = *p++;
            else
                p++;
        }
    }
    *a = '\0';
}
int main()
{
    char s[81];
    printf("Enter a string :\n");
    gets(s);
    fun(s);
    printf("The string after deleted:\n");
    puts(s);
    return 0;
}