小羊爱吃小草 发表于 2023-11-22 15:25:48

自定义


自定义函数,将两个字符串连接起来。不能调用strcat函数,不使用指针。编程提示:
(1)把两个字符串用两个数组存放,把第2个字符串的字符存放到第1个字符串的后部。
(2)作为字符串来说,除了字符本身之外,还有一个结束标志字符‘\0’。
(3)要把两个字符串连接在一起,就要把第1个字符串的结束标志字符‘\0’去掉,然后把第2个字符串的所有字符存放到第1个字符串的后部连同结束标志字符‘\0’。
(4)要保证第1个字符的数组大小够存放两个字符串的字符。
不使用指针

isdkz 发表于 2023-11-22 15:25:56

#include <stdio.h>

void my_strcat(char str1[], char str2[]) {
    int i = 0, j = 0;
   
    // 找到第1个字符串的结束标志字符'\0'的位置
    while (str1[ i] != '\0') {
      i++;
    }
   
    // 把第2个字符串的字符存放到第1个字符串的后部
    while (str2 != '\0') {
      str1[ i] = str2;
      i++;
      j++;
    }
   
    // 添加第1个字符串的结束标志字符'\0'
    str1[ i] = '\0';
}

int main() {
    char str1 = "Hello, ";
    char str2[] = "world!";
   
    my_strcat(str1, str2);
    printf("%s\n", str1);// 输出结果为 "Hello, world!"
   
    return 0;
}

tommyyu 发表于 2023-11-22 16:50:46

没有办法不使用指针
题目原要求是什么?
页: [1]
查看完整版本: 自定义