c语言

c语言怎么删除字符串中的指定字符

小亿
407
2023-08-15 20:10:57
栏目: 编程语言

在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[100];
char c;
printf("请输入字符串:");
fgets(str, sizeof(str), stdin);
printf("请输入要删除的字符:");
scanf("%c", &c);
removeChar(str, c);
printf("删除指定字符后的字符串为:%s", str);
return 0;
}

在这个示例代码中,使用removeChar函数来删除字符串中的指定字符。该函数接受一个指向字符串的指针和一个字符作为输入参数。

首先,使用strlen函数获取字符串的长度,然后使用循环遍历字符串中的每个字符。如果当前字符不是指定字符,则将其复制到新的字符串中,并使用变量j来记录新字符串的下一个位置。

最后,将新字符串的最后一个字符设置为字符串结尾的空字符,表示结束。

main 函数中,使用 fgets 函数读取用户输入的字符串,并使用 scanf 函数读取用户输入的要删除的字符。

最后,调用 removeChar 函数删除指定字符,并打印删除指定字符后的字符串。

0
看了该问题的人还看了