4.连接字符串。编一程序,将两个字符串连接起来,不要用strcat函数。
时间: 2024-12-20 09:14:54 浏览: 11
在编程中,连接两个字符串而不使用预定义的`strcat`函数可以使用循环和字符数组操作来实现。下面是一个简单的示例,用C语言编写:
```c
#include <stdio.h>
#include <string.h>
// 自定义函数用于连接两个字符串
char* concatStrings(char* str1, char* str2) {
// 计算两个字符串长度之和,并加上终止符'\0'
int totalLength = strlen(str1) + strlen(str2) + 1;
// 动态分配足够的内存来存储结果字符串
char* result = (char*)malloc(totalLength * sizeof(char));
// 指针分别指向结果字符串和每个输入字符串的开始位置
char* pResult = result;
char* pStr1 = str1;
char* pStr2 = str2;
// 将第一个字符串复制到结果
while (*pStr1 != '\0') {
*pResult++ = *pStr1++;
}
// 然后将第二个字符串添加到结果
*pResult++ = '\0'; // 结束第一个字符串后加终止符
while (*pStr2 != '\0') {
*pResult++ = *pStr2++;
}
return result; // 返回新创建的连接后的字符串
}
int main() {
char str1[] = "Hello";
char str2[] = " World!";
char* combinedStr = concatStrings(str1, str2);
printf("Concatenated string: %s\n", combinedStr);
free(combinedStr); // 释放动态分配的内存
return 0;
}
```
在这个例子中,我们手动遍历了两个输入字符串,并逐个字符地将其复制到新的结果字符串中,最后记得释放分配的内存以避免内存泄漏。
阅读全文