c语言从键盘上输入一个字符串,删除其中某个字符
时间: 2023-12-08 07:03:37 浏览: 195
C语言程序设计-从字符串s中删除指定的字符c.c
5星 · 资源好评率100%
好的,我来回答你的问题。
要从键盘上输入一个字符串并删除其中某个字符,可以使用C语言中的字符数组和字符串处理函数。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
char del;
int i, j;
printf("请输入一个字符串:");
scanf("%s", str);
printf("请输入要删除的字符:");
scanf(" %c", &del);
for (i = 0, j = 0; i < strlen(str); i++) {
if (str[i] != del) {
str[j++] = str[i];
}
}
str[j] = '\0';
printf("删除后的字符串为:%s\n", str);
return 0;
}
```
在这个程序中,我们首先定义了一个字符数组 `str`,用于存储从键盘上输入的字符串。然后,我们使用 `scanf()` 函数从键盘上读取字符串,并将其存储在 `str` 中。
接下来,我们使用 `scanf()` 函数从键盘上读取要删除的字符,并将其存储在 `del` 变量中。
然后,我们使用一个循环遍历字符串 `str` 中的每个字符。如果当前字符不是要删除的字符,我们就将其复制到新的字符串中。最后,我们在新的字符串末尾加上一个字符串结束符 `\0`,并输出删除后的字符串。
需要注意的是,在输入要删除的字符时,我们使用了一个空格来忽略之前输入的回车符。这是因为在读取字符时,`scanf()` 函数会将回车符留在输入缓冲区中,如果不加空格,下一个 `scanf()` 函数就会读取到这个回车符,导致程序出错。
希望这个程序能够帮助你解决问题,如果你还有其他问题,可以继续提问。
阅读全文