c语言要求编写程序将字符串中的指定字符删去。
时间: 2024-01-24 10:17:26 浏览: 94
下面是一个示例程序,它可以删除输入字符串中的所有指定字符:
```c
#include <stdio.h>
#include <string.h>
void remove_char(char *str, char c) {
int len = strlen(str);
int i, j;
for (i = j = 0; i < len; i++) {
if (str[i] != c) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[100];
char c;
printf("请输入一个字符串:");
scanf("%s", str);
printf("请输入要删除的字符:");
scanf(" %c", &c);
remove_char(str, c);
printf("删除后的字符串为:%s\n", str);
return 0;
}
```
这个程序中,`remove_char` 函数接受两个参数:一个字符串 `str` 和一个字符 `c`,它会将 `str` 中的所有 `c` 字符删除。具体实现方式是使用两个指针 `i` 和 `j`,其中 `i` 用于遍历输入字符串,`j` 用于记录输出字符串的位置。当遇到一个非 `c` 字符时,将其复制到输出字符串中,同时将 `j` 指针向前移动一位。最后在输出字符串的末尾添加一个空字符,以表示字符串的结束。
在 `main` 函数中,我们首先读入一个字符串和一个字符,然后调用 `remove_char` 函数进行删除操作,并将结果输出。注意,我们在读入字符时使用了一个空格,这是因为在读入字符串后,输入缓冲区中可能会留下一个换行符,我们需要使用空格来消耗这个换行符。
阅读全文