9. 利用指针实现由键盘任意输入一串字符,再输入一个字符,在此串字符中查找是否有此字符,如果有从此串字符中删除此字符。
时间: 2024-05-13 14:19:34 浏览: 15
以下是利用指针实现的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100], ch, *ptr;
printf("请输入一个字符串:");
gets(str);
printf("请输入要删除的字符:");
ch = getchar();
ptr = str;
while (*ptr != '\0') {
if (*ptr == ch) {
memmove(ptr, ptr + 1, strlen(ptr + 1) + 1);
} else {
ptr++;
}
}
printf("删除后的字符串为:%s\n", str);
return 0;
}
```
首先,我们定义了一个字符数组 `str` 来存储输入的字符串,一个字符 `ch` 来表示要删除的字符,和一个字符指针 `ptr` 来指向 `str` 数组的首地址。
然后,我们使用 `gets()` 函数来从键盘输入一个字符串。接着,使用 `getchar()` 函数来从键盘输入要删除的字符。最后,使用 `ptr` 指针遍历整个字符串,如果找到了要删除的字符,则使用 `memmove()` 函数将其后面的所有字符往前移动一个位置,然后将指针向后移动一位。如果没有找到要删除的字符,则直接将指针向后移动一位。
最后,输出删除后的字符串。