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 str
    while(*t != 0) t++;
    while(*s != 0)
    {
        *t=*s;
        t++;
        s++;
    }
}
  • 18
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值