学习-编写函数将两个字符串连接起来#include<stdio.h> #define N 80 char * mystrcat(char ch1[],char ch2[]); int mystrlen(const char str[ ])
时间: 2023-12-18 20:04:29 浏览: 145
C标准库函数集
5星 · 资源好评率100%
好的,这是一个关于字符串操作的问题。对于第一个问题,可以使用以下代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 80
char* mystrcat(char ch1[], char ch2[]) {
char* result = (char*)malloc(sizeof(char) * (strlen(ch1) + strlen(ch2) + 1));
strcpy(result, ch1);
strcat(result, ch2);
return result;
}
int mystrlen(const char str[]) {
int len = 0;
while (str[len] != '\0') {
len++;
}
return len;
}
int main() {
char ch1[N], ch2[N];
printf("请输入两个字符串:\n");
scanf("%s%s", ch1, ch2);
char* result = mystrcat(ch1, ch2);
printf("合并后的字符串为:%s\n", result);
free(result);
printf("第一个字符串的长度为:%d\n", mystrlen(ch1));
printf("第二个字符串的长度为:%d\n", mystrlen(ch2));
return 0;
}
```
其中,`mystrcat` 函数接受两个字符串参数,使用 `malloc` 分配新的内存空间来存储合并后的字符串,并使用 `strcpy` 和 `strcat` 函数拼接两个字符串。最后,返回合并后的字符串指针。
`mystrlen` 函数接受一个字符串参数,通过循环计算字符串的长度,并返回字符串的长度值。
阅读全文