c语言下面函数功能是将字符串s1和s2连接起来,不能使用strcat,用while
时间: 2024-12-23 08:17:39 浏览: 6
c代码-C语言编写一个程序,将两个字符串连接起来
5星 · 资源好评率100%
在C语言中,如果你不能直接使用`strcat()`函数,你可以通过遍历其中一个字符串,逐个字符地复制到另一个字符串的末尾来实现字符串连接。这里是一个使用while循环的简单示例:
```c
#include <stdio.h>
#include <string.h>
// 自定义字符串连接函数
char* str_concat(char *s1, char *s2) {
int len1 = strlen(s1);
int len2 = strlen(s2);
// 检查第一个字符串是否为空,如果不为空,则直接添加第二个字符串
if (len1 > 0) {
char result[len1 + len2 + 1]; // 确保结果数组足够大以容纳两个字符串和终止符'\0'
memcpy(result, s1, len1); // 复制第一个字符串
// 从第二个字符串开始复制,直到结束
int i = 0;
while (s2[i] != '\0') { // 遍历第二个字符串
result[len1++] = s2[i]; // 把字符添加到结果数组
i++;
}
result[len1] = '\0'; // 结束标记(添加空字符)
return result; // 返回连接后的字符串
} else {
// 如果第一个字符串为空,直接返回第二个字符串
return s2;
}
}
int main() {
char str1[] = "Hello";
char str2[] = " World!";
char* combined_str = str_concat(str1, str2);
printf("Combined string: %s\n", combined_str);
free(combined_str); // 释放内存,避免内存泄漏
return 0;
}
阅读全文