用c语言9.利用指针实现由键盘任意输入一串字符,再输入一个字符,在此串字符中查找是否有此字符,如果有从此串字符中删除此字符。如:原串为abcdef,删除字符为c,新串为abdef。
时间: 2024-05-13 22:19:19 浏览: 25
下面是一个实现该功能的C语言代码:
```
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
void delete_char(char *str, char c);
int main() {
char str[MAX_LEN];
char c;
printf("请输入一串字符:");
fgets(str, MAX_LEN, stdin);
str[strcspn(str, "\n")] = '\0'; // 去掉fgets函数读入的换行符
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 (*p != '\0') {
if (*p == c) {
// 如果找到要删除的字符,将后面的字符往前移动一位
char *q = p;
while (*q != '\0') {
*q = *(q + 1);
q++;
}
} else {
p++;
}
}
}
```
该程序首先通过`fgets`函数从标准输入读入一串字符,并去掉读入的换行符。然后通过`scanf`函数读入要删除的字符。接下来调用`delete_char`函数删除字符串中的指定字符。`delete_char`函数使用一个指针`p`遍历整个字符串,如果找到要删除的字符,就使用另一个指针`q`将后面的字符往前移动一位。最后,程序输出删除指定字符后的新字符串。
阅读全文
相关推荐
















