从一个字符串中删除所有同一个给定字符后得到一个新字符串并输出。 指导:需要将原始字符串存放到一个字符数组 str1 中,将得到的新字符串存放到另外一 个字符数组 str2 中。需要将字符串由 main()函数传递给 delstr()函数,所以采用传地址调用。 在 delstr()函数中采用指针处理字符串,逐个字符判断字符串中的字符是否是待删除的字符, 若不是,将其存放到 str2 中,这个传地址怎么写
时间: 2024-02-24 07:58:05 浏览: 62
将字符串中的非字母字符删除,将所有大写字母字符转换成小写字母字符,并显 示处理结果 字符串可以直接在定义时赋初值
传地址的方式可以使用指针作为函数的参数,这样就可以通过指针来访问原始字符串和新字符串。具体实现可以参考以下代码:
```cpp
#include <iostream>
using namespace std;
void delstr(char *str1, char c, char *str2)
{
int i = 0;
int j = 0;
while (str1[i] != '\0') // 遍历原始字符串
{
if (str1[i] != c) // 判断字符是否为待删除的字符
{
str2[j] = str1[i]; // 将字符存放到新字符串中
j++;
}
i++;
}
str2[j] = '\0'; // 在新字符串末尾添加结束符
}
int main()
{
char str1[100]; // 原始字符串
char str2[100]; // 新字符串
char c; // 待删除的字符
cout << "请输入原始字符串:";
cin >> str1;
cout << "请输入待删除的字符:";
cin >> c;
delstr(str1, c, str2); // 调用删除函数,传递地址
cout << "新字符串为:" << str2;
return 0;
}
```
在 `main()` 函数中,通过 `&` 符号来获取字符串的地址,然后将地址传递给 `delstr()` 函数。在 `delstr()` 函数中,使用指针访问原始字符串和新字符串。
希望能对你有所帮助!
阅读全文