编写一个C语言程序:在主函数中输入一行字符串 str,再输入一个字符 ch,将字符串中所有的 ch 字符删除后这输出该字符串。要求定义和调用函数 delchar(str,ch),该函数将字符串 str 中出现的所有 ch 字符删除。
时间: 2024-01-22 22:20:36 浏览: 89
删除字符串中指定字符C语言程序
以下是实现要求的C语言程序:
```c
#include <stdio.h>
#include <string.h>
void delchar(char *str, char ch)
{
int len = strlen(str);
int i, j;
for(i = 0, j = 0; i < len; i++)
{
if(str[i] != ch)
{
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main()
{
char str[100], ch;
printf("请输入一行字符串:");
fgets(str, sizeof(str), stdin);
printf("请输入要删除的字符:");
scanf("%c", &ch);
delchar(str, ch);
printf("删除后的字符串:%s", str);
return 0;
}
```
在这个程序中,我们定义了一个名为 `delchar` 的函数,该函数接收两个参数:一个字符串指针 `str` 和一个字符 `ch`。该函数的作用是将字符串 `str` 中出现的所有 `ch` 字符删除。具体的实现方式是使用两个指针 `i` 和 `j` 遍历字符串 `str`,当指针 `i` 指向的字符不是 `ch` 时,将其复制到指针 `j` 指向的位置,然后将指针 `j` 向后移动一位。最后,将指针 `j` 所指向的位置设置为字符串结束符 `\0`。
在主函数中,我们首先使用 `fgets` 函数从标准输入中读取一行字符串,并使用 `scanf` 函数读取要删除的字符。然后,我们调用 `delchar` 函数将字符串中的指定字符删除,并输出删除后的字符串。
阅读全文