c语言拼接两个字符串函数strcat的实现

代码如下:

/*
函数定义:void StrCat(char* headChar, char* tailChar)
函数参数:
headChar:需要拼接的字符串首地址
tailChar:拼接内容字符串的首地址
功能:拼接字符串
*/
#include <stdio.h>
void StrCat(char* headChar, char* tailChar){
    char* tempChar = headChar;//用tempChar来修改地址的值,这样headChar还是指向字符串的首地址
    while(*tempChar){//如果当前指针指向的值不为0的话,就进入while
        tempChar++;//将tempChar++,移动到指针的下一位
    }
    /* 到此处指针是指向字符串中第一处没有值的地方  比如一个字符串为"hello"
    可以理解为此时指针指向的地方为o字母后面的一个地址,根本没有值,相当于0.
    我们只需要将从这一位开始到之后填成tailChar字符串的值就行*/
    while(*tailChar){//如果tailChar指向地址的值不等于0,则进入while
        *tempChar = *tailChar;//将tailChar的值给tempChar
        tempChar++;
        tailChar++;
    }
    //到这里字符串已经拼接完成
    //可以直接通过字符串的首地址打印出字符串
    printf("%s\n",headChar);//这段只能通过首地址打印,这个过程一般是省略的,写出来更好理解而已
}
int main(int argc, char** argv){
    char a[20] = "hello ";//这个字符串的大小一定要够存需要拼接的字符串的大小
    StrCat(a, "world!");//将a的首地址当实参传进了函数,并且在函数里面通过一个中间指针改变了字符串的值
    // 将"hello "和"world!"进行拼接成"hello world!"
    printf("%s\n", a);                    // 所以我们直接通过首地址就可以打印出拼接过后的字符串
    return 0;
}

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值