/* 假定输入的字符串中只包含字母和*号。 编写函数,实现: 除了字符串前导和尾部的*号之外,将串中其他*号全部删除。 在编写函数时,不得使用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