设计一个程序利用指针设计一个能删除字符串的函数并将其输出
时间: 2024-03-10 15:47:41 浏览: 54
可以设计一个函数,接收一个指向字符串的指针,然后遍历整个字符串,如果当前字符是要删除的字符,则将其删除,最后输出处理后的字符串,具体实现如下:
```c++
#include <iostream>
using namespace std;
// 删除字符串中的指定字符
void deleteChar(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++; // 如果当前字符不是要删除的字符,则继续向后遍历
}
}
}
int main() {
char str[] = "hello world!";
cout << "原始字符串:" << str << endl;
deleteChar(str, 'l'); // 删除字符串中的字符 'l'
cout << "删除后的字符串:" << str << endl;
return 0;
}
```
输出结果为:
```
原始字符串:hello world!
删除后的字符串:heo word!
```
需要注意的是,由于字符串的长度是不变的,因此在删除一个字符后,后面的字符需要向前移动,以保证字符串的完整性。此外,程序中只删除了一个指定字符,如果需要删除多个字符,则需要在函数中添加循环。
阅读全文