用c语言编写 删除指定字符 描述:定义一个字符数组保存一个字符串,然后删除该字符串中所有指定的字符,并输出处理后的结果。 示例输入: 请输入一个字符串: hello world 请输入要删除的字符: l 处理后的字符串: heo word
时间: 2024-11-03 09:14:32 浏览: 49
用一维字符数组存放字符串-C语言字符数组与字符串
在C语言中,你可以通过遍历字符数组并跳过特定字符的方式来实现删除指定字符的功能。以下是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 定义删除指定字符的函数
void delete_char(char* str, char del_char) {
int i, j = 0;
for (i = 0; str[i] != '\0'; i++) { // 遍历直到遇到字符串结束
if (str[i] != del_char) { // 如果当前字符不是要删除的字符
str[j++] = str[i]; // 将它复制到新的位置
}
}
str[j] = '\0'; // 在新字符串的末尾添加结束符
}
int main() {
char input_str[100];
printf("请输入一个字符串: ");
fgets(input_str, sizeof(input_str), stdin); // 注意这里要处理'\n'
input_str[strcspn(input_str, "\n")] = '\0'; // 去除fgets读取的换行符
char del_char;
printf("请输入要删除的字符: ");
scanf("%c", &del_char);
delete_char(input_str, del_char);
printf("处理后的字符串: %s\n", input_str);
return 0;
}
```
这段代码首先接收用户输入的字符串和要删除的字符,然后调用`delete_char`函数删除指定字符。注意,这里使用了`fgets`函数来读取字符串,以避免错过用户可能输入的空格。`strcspn`函数则帮助我们找到换行符的位置。
阅读全文