C语言利用指针实现由键盘任意输入一串字符,再输入一个字符,在此串字符中查找是否有此字符,如果有从此串字符中删除此字符。
时间: 2024-05-16 17:15:20 浏览: 102
可以使用指针来实现这个功能,具体步骤如下:
1. 定义一个字符数组,并使用 scanf 函数从键盘输入一串字符,以空字符 '\0' 结尾。
2. 再使用 getchar 函数从键盘输入一个字符,用来查找并删除该字符。
3. 使用指针遍历字符数组,查找该字符是否存在。如果存在,将后面的字符往前移动一个位置,以覆盖该字符。
4. 如果找到该字符,则继续往后查找,直到找不到为止。
5. 最后,将修改后的字符数组输出到屏幕上。
下面是实现代码:
```c
#include <stdio.h>
int main()
{
char str[100], ch, *p = str;
int i, j;
printf("请输入一串字符:");
scanf("%s", str);
printf("请输入一个字符:");
ch = getchar();
while (*p != '\0')
{
if (*p == ch)
{
for (i = j = 0; str[i] != '\0'; i++)
{
if (str[i] != ch)
{
str[j++] = str[i];
}
}
str[j] = '\0';
break;
}
p++;
}
printf("修改后的字符为:%s\n", str);
return 0;
}
```
需要注意的是,如果输入的字符数组长度超过了定义的大小,就会发生数组越界的错误,导致程序崩溃。因此,在实际开发中,需要对输入的字符数组长度进行检查,以确保程序的稳定性。
阅读全文