规定输入的字符串中只包含字母和 * 号。编写函数 fun ,其功能是:删除字符串中所有的 * 号。编写函数时,不得使用 C 语言提供的字符串函数,用c语言
时间: 2023-09-30 15:06:06 浏览: 98
C语言程序设计-编写函数fun(str,i,n),从字符串str中删除第i个字符开始的连续n个字符
5星 · 资源好评率100%
好的,我来帮您编写该函数。可以使用指针遍历字符串,遇到 * 号就将其删除,然后将后面的字符向前移动一位即可。
以下是函数实现的代码示例:
```c
void fun(char *str) {
int i = 0, j = 0;
while (str[i] != '\0') {
if (str[i] != '*') {
str[j] = str[i];
j++;
}
i++;
}
str[j] = '\0';
}
```
该函数的时间复杂度为O(n),其中n为字符串的长度。使用两个指针i和j,i指向当前遍历到的字符,j指向将要被填充的位置。当i指向的字符不是 * 号时,将其填充到j指向的位置,然后将j指针后移。最后将j指针所指向的位置清零即可。
注意,为了保证字符串的结尾,需要在最后一个非 * 号字符后面添加字符串结尾符'\0'。
阅读全文