题目:删除控制台输入的字符串中指定的字符
#include<stdio.h>
#include<string.h>
void removeChar(char* str, char ch);
int main() {
char input[1024];
char ch;
printf("请输入一串字符串:");
fgets(input, sizeof(input), stdin);
input[strcspn(input, "\n")] = 0;
printf("请输入要删除的字符:");
scanf_s("%c", &ch);
removeChar(input, ch);
printf("删除 '%c' 后的字符串为:%s", ch, input);
return 0;
}
void removeChar(char* str, char ch) {
char* src, * dst;
for (src = dst = str; *src != '\0'; src++) {
*dst = *src;//将 src 指向的字符复制到 dst 指向的位置
if (*dst != ch) {//如果当前字符不是要删除的字符,则dst递增,同时src也递增
dst++;
}
}
//在新的字符串末尾添加空字符串
*dst = '\0';
}