编写函数,其功能是从字符串中查找指定的字符并且将其删除,
时间: 2023-03-29 20:04:09 浏览: 70
好的,这个问题我可以回答。以下是一个示例函数:
```c
void delete_char(char *str, char c) {
char *p = str;
while (*p) {
if (*p == c) {
char *q = p;
while (*q) {
*q = *(q + 1);
q++;
}
} else {
p++;
}
}
}
```
这个函数接受两个参数,一个是字符串指针,另一个是要删除的字符。它会遍历整个字符串,如果找到了要删除的字符,就将它后面的字符全部向前移动一个位置,以此来删除这个字符。
相关问题
编写函数,其功能是从字符串中查找指定的字符并且将其删除,若找不到则不删除
好的,这个问题我可以回答。可以使用以下函数:
```c
void deleteChar(char *str, char c) {
char *p = str;
while (*p != '\') {
if (*p == c) {
char *q = p;
while (*q != '\') {
*q = *(q + 1);
q++;
}
} else {
p++;
}
}
}
```
这个函数的参数是一个字符串和一个字符,它会在字符串中查找指定的字符并将其删除。如果找不到指定的字符,则不会删除任何字符。
用C语言编写函数,其功能是从字符串中查找指定的字符并且将其删除,若未找到则不删除。在主函数中 输入字符串及指定字符,调用函数完成相应功能后在主函数中输出结果。
好的,这是一个关于 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 ;
}
```
这个函数会从输入的字符串中查找指定的字符并将其删除,如果未找到则不删除。在主函数中输入字符串及指定字符,调用函数完成相应功能后在主函数中输出结果。