C语言-使用指针拼接两个字符串数组

C语言—使用指针完成两个字符串的拼接

指针相关知识

在说明拼接问题之前先说明一些和指针的相关问题

  1. 字符串数组对应的地址就是字符串数组中第一个元素对应的地址
  2. 字符串数组最后一个元素之后肯定是0

拼接的思路

在知道了这些之后,拼接的具体输入就是想把指针移动到第一个指针的末尾,然后在让后面的地址存储第二个字符串数组对应的值
比如说我们现在有 char s[80] 和 char t[80]两个数组,我想把s拼接到t的后面那么应该怎么做呢

第一步:移动位于字符串数组t的指针到末尾

在这里插入图片描述

第二步:把另一个数组拼接到后面

在这里插入图片描述

例子:

程序实现:将字符串 s 连接到t 的后面。如输入 Birthday 和 Happy ,则程序输出Happy Birthday

#include <stdio.h>

void mystrc(char* s, char* t);

int main() {
    char s[80], t[80];
    gets(s);
    gets(t);
    mystrc(s, t);
    puts(t);
    return 0;
}

void mystrc(char* s, char* t)
{
    printf("%p\n",s);
    // make the pointer to the end of t
    while(*t != 0) t++;
    while(*s != 0)
    {
        *t=*s;
        t++;
        s++;
    }
}
发布了62 篇原创文章 · 获赞 33 · 访问量 3486

猜你喜欢

转载自blog.csdn.net/python_LC_nohtyp/article/details/104079256
今日推荐