题目1: 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号

题目1: 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得使用c语言提供的字符串函数。
void fun(char *a)
【要求】
1.自己把主函数补充完整。

#include<stdio.h>
void fun(char *a)
{
int i=1,j=1,k;
char str[50];
str[0]=a[0];
while(a[i]!='\0')
{
if(a[i]!='*')
{
str[j]=a[i];
j++;
}
i++;
}
for(k=0;k<j;k++)
{
printf("%c",str[k]);
}
printf("\n");
}
void main()
{
char c[50];
printf("Please input string:");
scanf("%s",c);
fun(c);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-03
void fun(char *a)
{
while(*a && *a=='*')
{
a++;
}
char *tb, *tp;
while(*a)
{
while(*a && *a!='*')
{
a++;
}
tb=tp=a;
while(*tb && *tb=='*')
{
tb++;
}
while(*tp++=*tb++);
//*tp=*tb;
a++;
}
}本回答被提问者采纳
第2个回答  2012-05-03
void fun (char *a)
{
for (int i = 0; ; i++)
{
if (*a==' * ')
cout<<*a;
if (*(a+i)==' * ')
continue;
if (*(a+i)==' \0 ')
break;
cout<< *(a+i);
}
相似回答