用c语言编译任意输入一个字符串和一个字符,将字符串中的所有该字符删除,分别输出删除前和删除后的字符串及长度
时间: 2023-12-13 15:03:14 浏览: 105
下面是用 C 语言编写的代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100], ch;
int i, len;
// 输入字符串和字符
printf("请输入一个字符串:");
gets(str);
printf("请输入要删除的字符:");
scanf("%c", &ch);
// 删除字符
len = strlen(str);
for (i = 0; i < len; i++) {
if (str[i] == ch) {
memmove(&str[i], &str[i+1], len-i);
i--;
len--;
}
}
// 输出删除前的字符串和长度
printf("删除前的字符串为:%s\n", str);
printf("删除前的长度为:%d\n", strlen(str));
// 输出删除后的字符串和长度
str[len] = '\0';
printf("删除后的字符串为:%s\n", str);
printf("删除后的长度为:%d\n", strlen(str));
return 0;
}
```
运行程序,输入一个字符串和一个字符,即可得到删除前和删除后的字符串及长度。注意,这里使用了 `memmove` 函数来实现删除字符,因为它比 `strcpy` 更高效。同时,由于删除字符后字符串长度会发生变化,需要在输出删除后的字符串前将其末尾加上一个空字符。
阅读全文