中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c語言字符串函數怎么定義

小億
118
2024-01-23 09:28:13
欄目: 編程語言

在C語言中,字符串函數可以通過以下兩種方式定義:

  1. 使用字符數組作為參數和返回值
#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;
}
  1. 使用指針作為參數和返回值
#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;
}

無論使用字符數組還是指針,都可以實現相同的功能。但是需要注意指針的使用需要更謹慎,避免指針操作超出字符串的范圍。

0
修水县| 巩留县| 合水县| 吴桥县| 海原县| 昭通市| 吴旗县| 建始县| 巩留县| 开平市| 温泉县| 康平县| 河北区| 饶河县| 邵阳县| 新晃| 清水河县| 新余市| 确山县| 清新县| 隆回县| 闸北区| 磐安县| 安图县| 保定市| 行唐县| 砚山县| 桑日县| 遂川县| 宜兴市| 北辰区| 仁寿县| 霍邱县| 崇信县| 怀宁县| 三河市| 甘洛县| 凤阳县| 永仁县| 营口市| 潼南县|