删除串中指定的字符c
时间: 2023-12-05 13:05:49 浏览: 67
以下是两种删除字符串中指定字符的方法:
1.函数方法
```c
void delchar(char *str, char c) {
int i, j;
for (i = j = 0; str[i] != '\0'; i++) {
if (str[i] != c) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
```
2.从键盘输入一个字符串和一个字符,删除字符串中所指定的字符,将结果保存到一个新的字符串中并输出
```c
#include <stdio.h>
int main() {
char str1[80], str2[80], ch;
int i, j = 0;
printf("输入字符串\n");
gets(str1);
printf("输入要删除的字符\n");
ch = getchar(); for (i = 0; str1[i] != '\0'; i++) {
if (str1[i] != ch) {
str2[j++] = str1[i];
}
}
str2[j] = '\0';
puts(str2);
return 0;
}
```
相关问题
字符串删除指定字符c语言
在 C 语言中,如果你想从字符串中删除特定字符,你可以创建一个新的字符数组,并遍历原字符串。对于每个字符,如果它不是你要删除的字符,就将其复制到新数组中。下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
void remove_char(char* str, char c) {
int i = 0, j = 0;
while (str[i] != '\0') { // 遍历整个字符串
if (str[i] != c) { // 如果当前字符不是目标字符
str[j++] = str[i]; // 将其复制到新位置
}
i++; // 移动到下一个字符
}
str[j] = '\0'; // 当遍历结束,确保新字符串以'\0'结尾
}
int main() {
char str[] = "Hello, World!";
char target_char = 'o';
remove_char(str, target_char);
printf("删除指定字符后的字符串: %s\n", str);
return 0;
}
```
在这个例子中,`remove_char` 函数会删除给定字符串 `str` 中的所有字符 `c`。运行上述程序,你会看到输出 "Hell, Wrld!"。
C语言中删除一个字符串中指定字符
可以通过遍历字符串的每个字符,将不需要的字符删除。具体实现如下:
```c
#include <stdio.h>
#include <string.h>
void removeChar(char *str, char c) {
int len = strlen(str);
int j = 0;
for (int i = 0; i < len; i++) {
if (str[i] != c) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[] = "hello, world!";
char c = 'o';
removeChar(str, c);
printf("%s\n", str); // 输出 "hell, wrld!"
return 0;
}
```
上述代码中,`removeChar` 函数接收一个字符串和一个字符作为参数,遍历字符串中的每个字符,将不需要的字符删除,最终修改原字符串。在主函数中,我们测试了删除字符串中字符 'o' 的效果。
阅读全文