用字符指针作函数参数编程实现如下功能:在字符串中删除与某字符相同的字符。 **提示信息: "Input a string:" "Input a character:" **输入格式要求:"%s" **输出格式要求:"Results:%s\n" 程序运行示例1如下: Input a string:hello,world! Input a character:o Results:hell,wrld!
时间: 2023-12-25 12:06:27 浏览: 106
指针作函数参数
下面是实现该功能的代码:
```c++
#include <stdio.h>
void del_char(char *str, char ch);
int main() {
char str[100], ch;
printf("Input a string:");
scanf("%s", str);
printf("Input a character:");
scanf(" %c", &ch);
del_char(str, ch);
printf("Results:%s\n", str);
return 0;
}
void del_char(char *str, char ch) {
char *p = str;
while (*p != '\0') {
if (*p == ch) {
char *q = p;
while (*q != '\0') {
*q = *(q + 1);
q++;
}
} else {
p++;
}
}
}
```
该程序中,`del_char` 函数接受一个字符串指针和一个字符作为参数,用于删除字符串中所有与该字符相同的字符。具体实现为,使用两个指针 `p` 和 `q` 遍历字符串,当 `p` 指向的字符等于目标字符时,就使用 `q` 从 `p` 开始向后遍历,将后面的字符一个一个往前移动一个位置,最后将字符串的有效长度减一。如果 `p` 指向的字符不等于目标字符,则将 `p` 指针向后移动一个位置。最终,字符串中所有与目标字符相同的字符都被删除了。
阅读全文