C++利用指针实现一个自己的字符串连接函数mystrcat。 题目中已经给出main函数,main函数会调用mystrcat函数进行测试,会输入两个字符串A和Bmystrcat返回连接后的字符串,并且在A和B之间加上一个字符“-”。输入的字符串A和B内部没有空格,A和B之间可以以空格或换行分隔。 测试输入:Com puter 预期输出:Com-puter
时间: 2024-03-06 09:49:47 浏览: 30
好的,我们可以使用指针实现一个自己的字符串连接函数mystrcat。
代码如下:
```c++
#include <iostream>
#include <cstring>
using namespace std;
char* mystrcat(char* A, char* B) {
int lenA = strlen(A);
int lenB = strlen(B);
char* res = new char[lenA + lenB + 2];
int i, j;
for (i = 0; i < lenA; i++) {
res[i] = A[i];
}
res[i++] = '-';
for (j = 0; j < lenB; j++) {
res[i++] = B[j];
}
res[i] = '\0';
return res;
}
int main() {
char A[100], B[100];
cin.getline(A, 100);
cin.getline(B, 100);
char* res = mystrcat(A, B);
cout << res << endl;
delete[] res;
return 0;
}
```
这个函数接受两个字符串A和B作为输入,返回连接后的字符串,并在A和B之间加上一个字符“-”。
将这个函数放入题目给出的main函数中进行测试,即可得到预期输出:
输入:
```
Com puter
```
输出:
```
Com-puter
```
注意,输入的字符串A和B内部可能包含空格,需要使用`cin.getline`函数进行输入。由于返回的是一个动态分配的内存空间,所以在使用完后需要手动释放内存,即使用`delete[]`函数。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)