c语言字符串函数怎么定义

   2025-02-04 7900
核心提示:在C语言中,字符串函数可以通过以下两种方式定义:使用字符数组作为参数和返回值#include stdio.h// 字符串长度int my_strlen(ch

在C语言中,字符串函数可以通过以下两种方式定义:

使用字符数组作为参数和返回值
#include <stdio.h>// 字符串长度int my_strlen(char str[]) {    int len = 0;    while (str[len] != '\0') {        len++;    }    return len;}// 字符串复制void my_strcpy(char dest[], char src[]) {    int i = 0;    while (src[i] != '\0') {        dest[i] = src[i];        i++;    }    dest[i] = '\0';}// 字符串连接void my_strcat(char dest[], char src[]) {    int dest_len = my_strlen(dest);    int i, j = 0;    for (i = dest_len; src[j] != '\0'; i++, j++) {        dest[i] = src[j];    }    dest[i] = '\0';}int main() {    char str1[100] = "Hello";    char str2[100] = "World";    printf("str1 length: %d\n", my_strlen(str1));        my_strcpy(str1, str2);    printf("str1 after copy: %s\n", str1);        my_strcat(str1, str2);    printf("str1 after concatenation: %s\n", str1);    return 0;}
使用指针作为参数和返回值
#include <stdio.h>// 字符串长度int my_strlen(char *str) {    int len = 0;    while (*str != '\0') {        len++;        str++;    }    return len;}// 字符串复制char* my_strcpy(char *dest, char *src) {    char *p = dest;    while (*src != '\0') {        *dest = *src;        dest++;        src++;    }    *dest = '\0';    return p;}// 字符串连接char* my_strcat(char *dest, char *src) {    char *p = dest;    while(*dest != '\0') {        dest++;    }    while (*src != '\0') {        *dest = *src;        dest++;        src++;    }    *dest = '\0';    return p;}int main() {    char str1[100] = "Hello";    char str2[100] = "World";    printf("str1 length: %d\n", my_strlen(str1));        my_strcpy(str1, str2);    printf("str1 after copy: %s\n", str1);        my_strcat(str1, str2);    printf("str1 after concatenation: %s\n", str1);    return 0;}

无论使用字符数组还是指针,都可以实现相同的功能。但是需要注意指针的使用需要更谨慎,避免指针操作超出字符串的范围。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言