平台会对你编写的代码进行测试并且约定,输入的字符串A和B内部没有空格,A和B之间可以以空格或换行分隔。
时间: 2024-02-18 10:00:15 浏览: 47
测试系统中的软件平台
好的,那么mystrcat函数需要接收两个参数,即两个字符串A和B。函数的返回值为连接后的字符串。下面是一个可能的实现:
```c
#include <stdio.h>
#include <string.h>
char* mystrcat(char* A, char* B) {
int lenA = strlen(A);
int lenB = strlen(B);
char* newStr = (char*)malloc((lenA + lenB + 2) * sizeof(char)); // 加2是因为还要加一个连接符“-”和一个空字符'\0'
int i;
for (i = 0; i < lenA; ++i) {
newStr[i] = A[i];
}
newStr[i++] = '-';
for (int j = 0; j < lenB; ++j) {
newStr[i++] = B[j];
}
newStr[i] = '\0';
return newStr;
}
int main() {
char A[1000], B[1000];
scanf("%[^\n] %[^\n]", A, B);
char* res = mystrcat(A, B);
printf("%s\n", res);
free(res);
return 0;
}
```
在这个实现中,我们首先使用strlen函数分别获取两个字符串的长度,然后申请一个新的char数组存储连接后的字符串。在循环中,我们把A中的字符全部复制到新的字符串中,然后加上连接符“-”,最后把B中的字符也复制到新的字符串中。最后,我们在新的字符串的末尾加上空字符'\0',表示字符串的结束。注意,我们在使用完毕后需要手动调用free函数释放内存。
阅读全文