每日一题——第九十一题

题目:删除控制台输入的字符串中指定的字符

#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';
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值