用c语言指针的办法删除字符串中的指定元素
时间: 2024-03-23 07:43:09 浏览: 97
可以使用指针来删除字符串中的指定元素,具体方法如下:
1. 定义一个指针变量,指向要删除的字符位置。
2. 将指针指向要删除的字符位置。
3. 将指针后面的字符依次向前移动一个位置,直到字符串末尾。
4. 将字符串末尾的字符置为 '\0'。
下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
void delete_char(char *str, char c) {
char *p = str;
while (*p != '\0') {
if (*p == c) {
char *q = p;
while (*q != '\0') {
*q = *(q + 1);
q++;
}
} else {
p++;
}
}
}
int main() {
char str[100];
char c;
printf("请输入字符串:");
fgets(str, sizeof(str), stdin);
printf("请输入要删除的字符:");
scanf("%c", &c);
delete_char(str, c);
printf("删除后的字符串为:%s\n", str);
return 0;
}
```
上述代码中,delete_char() 函数用于删除字符串中的指定元素。首先定义一个指针变量 p,指向字符串的首字符,然后遍历整个字符串。如果当前字符等于要删除的字符 c,则定义另外一个指针变量 q,指向当前字符位置,然后将 q 后面的字符一个个向前移动一个位置,直到字符串末尾。如果当前字符不等于要删除的字符,则将指针 p 后移一个位置。最终将字符串末尾的字符置为 '\0',表示字符串的结束。
阅读全文