/*假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。
例如,字符串中的内容为:***A*BC*DEF*G***,移动后字符串中的内容应当是:A*BC*DEF*G******。不使用字符串函数。*/
#include <stdio.h>
void fun(char *a)
{
int count=0,n=0,i,j;
while(*a++='*')
count++;
while(*a++)
n++;
for(i=n;i<=n+count-1;i++)
a[i]='*';
for(i=0,j=count;a[j];i++,j++)
a[i]=a[j];
a[i]=0;
}
main()
{
char s[81],*p; int n=0;
printf("Enter a string:\n");
gets(s);
fun(s);
printf("The string after moveing:\n");
puts(s);
}
//执行后错误,谁能告诉我哪错了?
对的,这样改正后虽然执行不会出现错误了,但上述功能仍不能实现。也就是说还有功能上的错误。请再帮忙看一看。谢谢!