用C语言编写函数,其功能是从字符串中查找指定的字符并且将其删除,若未找到则不删除。在主函数中 输入字符串及指定字符,调用函数完成相应功能后在主函数中输出结果。
时间: 2023-04-02 16:02:43 浏览: 210
好的,这是一个关于 C 语言编写函数的问题。可以使用字符串库函数中的 strchr() 函数来查找指定字符,然后使用字符串库函数中的 memmove() 函数将其删除。以下是示例代码:
```
#include <stdio.h>
#include <string.h>
void delete_char(char *str, char c) {
char *p = strchr(str, c);
if (p != NULL) {
memmove(p, p+1, strlen(p));
}
}
int main() {
char str[100], c;
printf("请输入字符串:");
scanf("%s", str);
printf("请输入要删除的字符:");
scanf(" %c", &c);
delete_char(str, c);
printf("删除后的字符串为:%s\n", str);
return ;
}
```
这个函数会从输入的字符串中查找指定的字符并将其删除,如果未找到则不删除。在主函数中输入字符串及指定字符,调用函数完成相应功能后在主函数中输出结果。
相关问题
用C语言编写程序函数,其功能是删除字符串s中所出现的与变量c相同的字符,在主函数中调用之,字符串输入,结果输出在主函数中完成。
好的,我可以帮你解决这个问题。以下是一个示例程序:
```c
#include <stdio.h>
#include <string.h>
void remove_char(char *s, char c)
{
int i, j, len;
len = strlen(s);
for (i = j = 0; i < len; i++)
{
if (s[i] != c)
{
s[j++] = s[i];
}
}
s[j] = '\0';
}
int main()
{
char s[100], c;
printf("输入字符串: ");
scanf("%s", s);
printf("输入需要删除的字符: ");
scanf(" %c", &c);
remove_char(s, c);
printf("删除后的字符串为: %s\n", s);
return 0;
}
```
这个程序中定义了一个名为 `remove_char` 的函数,它接收两个参数:一个字符串 `s` 和一个字符 `c`,并将字符串中所有与 `c` 相同的字符删除。事实上,这个函数并没有创建新的字符串,而是仅仅在原来的字符串上进行操作。
在主函数中,用户可以输入一个字符串和需要删除的字符,然后调用 `remove_char` 函数进行操作,并最终输出删除后的字符串。
希望这能对你有所帮助!
用c语言编写一个函数 delete_char(char str[], char ch),其功能是从字符串 str 中删除所有由ch 指定的字符。在主函数中输入一个字符串和指定的字符,调用函数,然后输出结果。
```c
#include <stdio.h>
#include <string.h>
void delete_char(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("请输入字符串:");
scanf("%s", str);
printf("请输入要删除的字符:");
scanf(" %c", &ch);
delete_char(str, ch);
printf("删除后的字符串:%s\n", str);
return 0;
}
```
阅读全文