假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:ABCDEFG。
时间: 2023-07-23 14:13:12 浏览: 67
用C#写的字符串处理函数,字符串处理出BUG的朋友可以使用它。较上一个版本修正了一处bug,并增加了ReplaceAll方法。
好的,我会编写一个函数来实现这个功能。以下是函数的实现:
```c
void fun(char *str) {
int i, j;
for (i = 0, j = 0; str[i] != '\0'; i++) {
if (str[i] != '*') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
```
这个函数的实现非常简单。它遍历输入的字符串,如果当前字符不是 * 号,则将其复制到输出字符串中,否则跳过该字符。最后,将输出字符串的结尾设置为 NULL,以表示字符串的结束。
你可以将这个函数放在你的代码中,并调用它来删除输入字符串中的所有 * 号。例如,你可以这样调用它:
```c
char str[] = "****A*BC*DEF*G*******";
fun(str);
printf("%s\n", str);
```
输出应该是:
```
ABCDEFG
```
阅读全文