用c语言写:删除字符串中的字符.输入一个字符串s,再输入一个字符c,将字符串s中出现的所有字符c删除.要求定义并调用函数delchar(s,c),它的功能是将字符串s中出现的所有c字符删除.
时间: 2023-12-05 22:06:41 浏览: 80
以下是用C语言实现删除字符串中指定字符的代码:
```c
#include <stdio.h>
#include <string.h>
void delchar(char s[], char c) {
int i, j;
int len = strlen(s);
for (i = j = 0; i < len; i++) {
if (s[i] != c) {
s[j++] = s[i];
}
}
s[j] = '\0';
}
int main() {
char s[100], c;
printf("请输入字符串s:");
scanf("%s", s);
printf("请输入要删除的字符c:");
scanf(" %c", &c); // 注意要在 %c 前加一个空格,以消耗掉输入缓冲区中的回车键
delchar(s, c);
printf("删除后的字符串为:%s\n", s);
return 0;
}
```
函数 `delchar()` 的实现中,使用两个指针 i 和 j 分别指向字符串 s 的当前字符和新字符串的位置,当 s[i] 不等于 c 时,将其复制到新字符串中,j 自增,最后在新字符串的结尾处加上字符串结束符 `\0`。在主函数中,先输入字符串 s 和字符 c,然后调用 `delchar()` 函数进行操作。最后输出删除后的字符串即可。
需要注意的是,输入字符 c 时要在 `%c` 前加一个空格,以消耗掉输入缓冲区中的回车键,否则会出现意料之外的结果。
阅读全文