c语言 编写一个函数,删除给定字符串中的指定宇符,如给定字符串“Chinese”,删除指定字符'e',字符串变为“chins”,主函数完成给定字符串和指定字符的输入,调用所编函数,输出处理后的字符串。
时间: 2024-03-19 09:43:28 浏览: 61
可以编写一个名为 `deleteChar` 的函数,接收两个参数:字符串的指针和待删除的字符。函数实现如下:
```c
#include <stdio.h>
#include <string.h>
void deleteChar(char *str, char c) {
int len = strlen(str);
int i, j;
for (i = 0, j = 0; i < len; i++) {
if (str[i] != c) {
str[j++] = str[i];
}
}
str[j] = '\0'; // 将新字符串的结尾标记设为'\0'
}
int main() {
char str[100], c;
printf("请输入字符串:");
scanf("%s", str);
printf("请输入要删除的字符:");
scanf(" %c", &c);
deleteChar(str, c);
printf("处理后的字符串为:%s\n", str);
return 0;
}
```
这里使用了两个指针 i 和 j,遍历原始字符串中的所有字符,如果当前字符不是待删除的字符,则将其复制到新字符串中,并将 j 指针后移一位。最后,将新字符串的结尾标记设为 '\0'。
在主函数中,先读入字符串和待删除的字符,然后调用 `deleteChar` 函数进行处理,最后输出处理后的字符串。注意,在读入待删除的字符时,需要在前面加上一个空格,以避免读入上一次输入时留下的回车符。
阅读全文