用C语言编写函数,其功能是从字符串中查找指定的字符并且将其删除,若未找到则不删除。在主函数中 输入字符串及指定字符,调用函数完成相应功能后在主函数中输出结果。
时间: 2023-04-02 13:02:43 浏览: 195
好的,这是一个关于 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语言编写函数fun,其功能是:从字符串中删除指定的字符。同一字母的大、小写按照不同的字符处理。
下面是一个用C语言实现的函数fun,可以删除字符串中指定的字符,包括同一字母的大、小写:
```c
#include <stdio.h>
#include <string.h>
void fun(char *str, char ch)
{
int i, j;
int len = strlen(str);
for (i = j = 0; i < len; i++) {
if (str[i] != ch && str[i] != ch - 'A' + 'a' && str[i] != ch - 'a' + 'A') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main()
{
char str[100];
char ch;
printf("请输入字符串:");
scanf("%s", str);
printf("请输入要删除的字符:");
scanf(" %c", &ch);
fun(str, ch);
printf("删除后的字符串是:%s\n", str);
return 0;
}
```
该函数使用两个指针 i 和 j,分别表示遍历原字符串和处理后的字符串的位置。遍历原字符串时,如果当前字符不是要删除的字符,就将它复制到处理后的字符串中,同时 j 指针加1。最后,将处理后的字符串的结尾字符设为 '\0'。
C语言编写函数,从给定字符串中查找某指定的字符
可以使用C语言中的字符串处理函数`strchr()`来查找某个指定的字符在给定字符串中的位置。`strchr()`函数的定义如下:
```c
#include <string.h>
char *strchr(const char *s, int c);
```
其中,第一个参数`s`为要查找的字符串,第二个参数`c`为要查找的字符。
`strchr()`函数返回一个指向被查找字符第一次出现的位置的指针,如果该字符不存在于字符串中,则返回`NULL`。
下面是一个示例程序,演示如何使用`strchr()`函数从给定字符串中查找某个指定的字符:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
char ch;
char *p;
printf("请输入一个字符串:");
scanf("%s", str);
printf("请输入要查找的字符:");
scanf(" %c", &ch);
p = strchr(str, ch);
if (p == NULL) {
printf("字符 %c 在字符串中不存在。\n", ch);
} else {
printf("字符 %c 在字符串中的位置是:%d\n", ch, p - str);
}
return 0;
}
```
在上面的示例程序中,用户输入一个字符串和要查找的字符,程序使用`strchr()`函数从字符串中查找指定的字符,并输出该字符在字符串中的位置。如果该字符不存在,则输出提示信息。