C语言用函数连接两个字符串
时间: 2023-09-09 13:08:00 浏览: 53
可以使用以下函数来连接两个字符串:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *concat(char *s1, char *s2) {
char *result = malloc(strlen(s1) + strlen(s2) + 1);
if (result == NULL) {
printf("Error: Unable to allocate memory for result string.\n");
exit(1);
}
strcpy(result, s1);
strcat(result, s2);
return result;
}
int main() {
char s1[] = "Hello, ";
char s2[] = "world!";
char *result = concat(s1, s2);
printf("Result: %s\n", result);
free(result);
return 0;
}
```
在这个函数中,我们首先使用`malloc`函数动态地分配内存来存储连接后的字符串。然后,我们使用`strcpy`函数将第一个字符串复制到结果字符串中,使用`strcat`函数将第二个字符串连接到结果字符串中。最后,我们将结果字符串返回给调用者。
在主函数中,我们调用`concat`函数来连接两个字符串,并将结果保存在一个指针中。最后,我们输出结果,并使用`free`函数释放结果字符串的内存。
需要注意的是,在使用动态分配的内存时,需要在使用完毕后使用`free`函数将其释放,以免造成内存泄漏。