/*
假定输入的字符串中只包含字母和*号。
编写函数,实现:
除了字符串前导和尾部的*号之外,将串中其他*号全部删除。
在编写函数时,不得使用C语言提供的字符串函数。
例如,若字符串中的内容为****A*BC*DEF*G*******
删除后,字符串中的内容则应当是****ABCDEFG******
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void fun(char *a) {
/**ERROR******/
int i=0;
char *t = a, * f = a;
char *q = a;
while (*t)
t++;
t--;
while (*t == ‘*‘)
t--;
while (*f == ‘*‘)
f++;
/***ERROR***/
while (q <f) {
a[i] = *q;
q++;
i++;
}
while (q < t) {
/***ERROR**/
if (*q != ‘*‘) {
a[i] = *q;
i++;
}
q++;
}
while (*q) {
a[i] = *q;
i++;
q++;
}
/**ERROR**/
a[i] = ‘\0‘;
}
int main() {
char s[81];
printf("Entre a string:\n");
gets_s(s);
/**ERROR**/
fun(s);
printf("The sting after deleted:\n");
puts(s);
system("pause");
return 0;
}

原文:https://www.cnblogs.com/dzp2001/p/12048698.html