用指针实现删除字符串中出现的指定字符
时间: 2023-06-05 08:47:58 浏览: 696
可以使用指针来实现删除字符串中出现的指定字符。具体步骤如下:
1. 定义一个指向字符串的指针,指向要删除字符的字符串。
2. 定义一个指向字符的指针,指向要删除的字符。
3. 使用 while 循环遍历字符串,判断当前字符是否为要删除的字符。
4. 如果当前字符不是要删除的字符,将其复制到新的字符串中。
5. 如果当前字符是要删除的字符,跳过该字符,继续遍历。
6. 遍历完字符串后,将新的字符串的末尾设置为 '\',表示字符串的结束。
7. 最后返回新的字符串。
示例代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* delete_char(char* str, char c) {
char* new_str = (char*)malloc(strlen(str) + 1); // 分配新的字符串空间
char* p = str; // 指向原字符串的指针
char* q = new_str; // 指向新字符串的指针
while (*p != '\') {
if (*p != c) {
*q = *p;
q++;
}
p++;
}
*q = '\'; // 设置新字符串的末尾为 '\'
return new_str;
}
int main() {
char str[] = "hello world";
char c = 'l';
char* new_str = delete_char(str, c);
printf("%s\n", new_str); // 输出结果为 "heo word"
free(new_str); // 释放新字符串的空间
return ;
}
```