c语言从数组s中删除存放在c中的字符,要求s和c需从键盘输入
时间: 2024-09-25 12:05:21 浏览: 48
字符数组应用举例-选择结构与循环结构程序设计
在C语言中,如果你想从数组`s`中删除存储在变量`c`中的字符,首先你需要获取用户通过键盘输入的`s`字符串和字符`c`。然后你可以遍历数组,检查每个元素是否等于`c`,如果找到就跳过该位置并继续查找下一个,直到遍历完整个数组。
下面是一个简单的示例程序,展示了如何实现这个功能:
```c
#include <stdio.h>
#include <string.h>
void remove_char(char s[], char c) {
int i, j;
for (i = 0, j = 0; s[i] != '\0'; ++i) { // 遍历数组
if (s[i] != c) { // 如果当前字符不是目标字符
s[j++] = s[i]; // 将其复制到新位置
}
}
s[j] = '\0'; // 更新数组长度,添加结束符
}
int main() {
char input_s[100], char_c;
printf("请输入字符串s: ");
fgets(input_s, sizeof(input_s), stdin); // 从键盘读取字符串
input_s[strcspn(input_s, "\n")] = '\0'; // 去除末尾的换行符
printf("请输入需要删除的字符c: ");
scanf("%c", &char_c);
remove_char(input_s, char_c);
printf("删除字符后的结果是: %s\n", input_s);
return 0;
}
```
在这个程序中,`remove_char`函数接收一个字符串数组和一个字符作为参数,实际操作是在原数组`s`上修改,而不是创建新的数组。注意,这里假设输入的字符不会超过数组的大小限制,并且用户会按照要求输入单个字符。
阅读全文