一道函数练习题
/**********假定字符串s中可能含有字符'*'。请编写函数,
将字符串s中前导'*'全部移到字符串的尾部。例如,若s的串
值为***A*BC*DEF*G**,移动后,串值应为A*BC*DEF*G*****。
注意:不得调用C语言提供的字符串函数。
**********/
void func(char s[])
{
int i,j=0,k=0;
char b[100];
for(i=0;s[i]!='\0';i++)
{
if(s[i]=='*') //算出字符串s中前导'*'个个数
k++;
else break;
}
for(i=k;s[i]!='\0';i++)
{
b[j]=s[i]; //将字符串s后面的元素复制到字符数组b中
j++;
}
for(i=0;i<j+k;i++)
{
if(i<j)
s[i]=b[i]; //得到结果
else s[i]='*';
}
s[i]='\0';
}
想知道还可以怎样做,谢谢!
[ 本帖最后由 我是殊帕面 于 2014-4-27 14:51 编辑 ]