假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有的*号。在编写函数时,使用C语言程序。 例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:ABCDEFG。
时间: 2023-07-23 21:13:09 浏览: 95
除了尾部的*号之外,将字符串中其它*号全部删除。
5星 · 资源好评率100%
好的,我来编写一个满足要求的C语言函数fun:
```c
void fun(char* s) {
char* p = s;
while (*p != '\0') {
if (*p != '*') {
*s = *p;
s++;
}
p++;
}
*s = '\0';
}
```
这个函数接收一个指向字符串的指针s作为输入,直接在原字符串上进行修改。
函数通过遍历输入字符串s的每一个字符,如果该字符不是*号,则将其复制到原字符串的当前位置,并将指针s后移一位。最后在原字符串的末尾添加一个结束符'\0'即可。
示例调用代码如下:
```c
char s[] = "****A*BC*DEF*G*******";
fun(s);
printf("%s\n", s); // 输出:ABCDEFG
```
阅读全文