C语言中,可以使用指针和函数来实现字符串连接的多种方法。 动态分配的内存一定要记得释放,在使用指针之前,要判断指针是否为空。 字符串以 '\0' 作为结束标志,在进行字符串操作时要注意。 避免数组越界,防止程序崩溃。

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';
}

推荐文档

相关文档

大家感兴趣的内容

随机列表