1、使用strcpy和strcat函数
#include <stdio.h>
#include <string.h>
// 函数原型
void concat_strings(char *dest, const char *src);
int main() {
char str1[50] = "Hello";
char str2[] = " World!";
concat_strings(str1, str2);
printf("Concatenated string: %s\n", str1);
return 0;
}
// 函数定义
void concat_strings(char *dest, const char *src) {
strcat(dest, src);
}
2、使用指针和循环
#include <stdio.h>
// 函数原型
void concat_strings(char *dest, const char *src);
int main() {
char str1[50] = "Hello";
char str2[] = " World!";
concat_strings(str1, str2);
printf("Concatenated string: %s\n", str1);
return 0;
}
// 函数定义
void concat_strings(char *dest, const char *src) {
while (*dest) {
dest++;
}
while (*src) {
*dest = *src;
dest++;
src++;
}
*dest = '\0';
}
3、使用指针和递归
#include <stdio.h>
// 函数原型
void concat_strings(char *dest, const char *src);
int main() {
char str1[50] = "Hello";
char str2[] = " World!";
concat_strings(str1, str2);
printf("Concatenated string: %s\n", str1);
return 0;
}
// 函数定义
void concat_strings(char *dest, const char *src) {
if (*dest) {
concat_strings(dest + 1, src);
} else {
while (*src) {
*dest++ = *src++;
}
*dest = '\0';
}
}
4、使用指针和sprintf函数
#include <stdio.h>
// 函数原型
void concat_strings(char *dest, const char *src);
int main() {
char str1[50] = "Hello";
char str2[] = " World!";
concat_strings(str1, str2);
printf("Concatenated string: %s\n", str1);
return 0;
}
// 函数定义
void concat_strings(char *dest, const char *src) {
sprintf(dest + strlen(dest), "%s", src);
}
5、使用指针和自定义函数实现字符串拼接
#include <stdio.h>
// 函数原型
void concat_strings(char *dest, const char *src);
int main() {
char str1[50] = "Hello";
char str2[] = " World!";
concat_strings(str1, str2);
printf("Concatenated string: %s\n", str1);
return 0;
}
// 函数定义
void concat_strings(char *dest, const char *src) {
while (*dest != '\0') {
dest++;
}
while (*src != '\0') {
*dest = *src;
dest++;
src++;
}
*dest = '\0';
}