输入字符串中包含字母和星号,编写一个函数fun使得除了字符串前导的星号之外,将串中其他星号删除,不得使用c语言提供的字符串函数。
如字符串内容为 * * * A * BC * DEF 输出为 * * * ABCDEF
请问我的代码哪里出错了吗,为什么输入后没有输出值?
```c
#include <stdio.h>
void fun(char a[],int m)
{
int i,j;
for(i=0;a[i]=='*'&&i<m;i++);
for(j=i;j<m;)
{
while(a[j]!='*')
j++;
while(a[j]=='*')
a[j]='\0';
j++;
}
for(j=0;j<22;j++)
printf("%c",a[j]);
}
int main()
{
int m,n;
char a[22];
for(n=0;n<22;n++)
{
scanf("%c",a[n]);
if(a[n]=='\n') break;}
m=22;
fun(a[22],m);
return 0;
}
```