要求用c语言实现一个删除字符串中的指定字符的简单函数,函数接口定义:void delchar( char *str, char c );
时间: 2024-05-07 10:19:13 浏览: 28
下面是一个简单的 C 语言函数 `delchar`,可以删除字符串中的指定字符:
```c
#include <stdio.h>
void delchar(char *str, char c) {
int i, j;
for (i = 0, j = 0; str[i] != '\0'; i++) {
if (str[i] != c) {
str[j] = str[i];
j++;
}
}
str[j] = '\0';
}
int main() {
char str[100];
char c;
printf("Enter a string: ");
scanf("%s", str);
printf("Enter the character to be deleted: ");
scanf(" %c", &c);
delchar(str, c);
printf("String after deleting '%c': %s\n", c, str);
return 0;
}
```
函数的实现思路如下:
1. 遍历整个字符串,如果字符 c 不等于当前字符,就把当前字符复制到新的字符串中;
2. 最后在新字符串的末尾添加一个 null 字符,表示字符串的结束。
需要注意的是,这个函数只是删除了指定字符,但没有改变字符串的长度,所以原来的字符串中可能包含一些不可打印的字符,需要在调用函数之前对其进行初始化。