用C语言和指针和while实现从键盘输入一串字符,再输入一个字符,从字符串中删除这个输入的的字符
时间: 2024-05-14 19:15:41 浏览: 64
好的,让我来为您解答这个问题。首先,我们可以使用C语言编写一个函数来从字符串中删除一个字符。下面是一个基本的函数示例:
```c
void delete_char(char *str, char c) {
char *p = str;
while (*str != '\0') {
if (*str != c) {
*p++ = *str;
}
++str;
}
*p = '\0';
}
```
这个函数使用了一个指针p来保存当前位置,循环遍历整个字符串。如果当前字符不等于要删除的字符,则将它复制到指针p指向的位置,并将指针p向前移动。如果当前字符等于要删除的字符,则跳过它。最后,我们在字符串的末尾添加一个null字符以表示结束。
在主函数中,我们可以使用scanf函数从键盘读取输入字符串和要删除的字符,然后调用上面编写的函数来删除字符。下面是一个示例代码:
```c
#include <stdio.h>
void delete_char(char *str, char c);
int main() {
char str[100], c;
printf("请输入一串字符:");
scanf("%s", str);
printf("请输入要删除的字符:");
scanf(" %c", &c);
delete_char(str, c);
printf("删除后的字符串为:%s\n", str);
return 0;
}
void delete_char(char *str, char c) {
char *p = str;
while (*str != '\0') {
if (*str != c) {
*p++ = *str;
}
++str;
}
*p = '\0';
}
```
这个程序可以实现从键盘输入一串字符,再输入一个字符,从字符串中删除这个输入的字符。希望能够帮助到您!
阅读全文