字符删除的问题
输入****adf**sd**sad***sa*******运行程序后输出****adfsdsadsa*******.即只删除两端都是字母的连续*。
代码如下:
#include <stdio.h>
void fun(char * a, char * h, char * p)
{
char * s;
s = h;
while ( h != p )
{
if (* h == '*')
{
s = h;
while (* s != '\0')
* s = * (++s);
}
else
s = ++h;
}
}
int main ()
{
char s[81], * t, * f;
printf("Enter a string : \n");
gets(s);
t = f = s;
while (* t) t++; t--;
while (* t == '*') t--;
while (* f == '*') f++;
fun(s, f, t);
printf("The deleted string is :");
puts(s);
return 0;
}
但是我输入输入****adf**sd**sad***sa*******后回车没有任何反应,就算子函数把输入字符串搞的乱七八糟那也应该输出点东西吧,puts(s);貌似什么都没做?求解答。