不使用库函数,自定义一个函数实现字符串连接的功能,如手动输入字符串 abcd ,和 efgh ,调用该函数后,该函数返回结果是 abcdefgh 。在 main 函数中测试该函数是否正确
时间: 2024-12-29 14:33:19 浏览: 5
自定义一个不依赖于内置库函数的字符串连接功能,可以使用 C 语言的基本操作。你可以通过循环逐个字符添加到一个临时字符数组中来实现。下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h> // 仅用于演示目的,实际应用中不需要
// 自定义字符串连接函数
char* custom_concatenate(char* str1, char* str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
char result[len1 + len2 + 1]; // 加一处理空字符 '\0'
for (int i = 0; i < len1; ++i) {
result[i] = str1[i];
}
for (int j = 0; j < len2; ++j) {
result[len1 + j] = str2[j];
}
result[len1 + len2] = '\0'; // 添加终止符
return result;
}
int main() {
char str1[] = "abcd";
char str2[] = "efgh";
char* concatenated_str = custom_concatenate(str1, str2);
printf("自定义连接后的字符串: %s\n", concatenated_str); // 输出: abcdefgh
free(concatenated_str); // 释放内存,防止内存泄漏
return 0;
}
```
在这个例子中,`custom_concatenate`函数接收两个字符串作为参数,分别计算它们的长度,然后创建一个新的足够大的数组`result`,将两个字符串的字符逐个复制进去,并添加终止符`\0`。在 `main` 函数中,我们先测试了这个函数的结果,然后记得释放`concatenated_str`所占用的内存。
阅读全文