字符串copy函数

字符串copy函数技术推演

#include "stdio.h"
#include "stdlib.h"
#include "string.h"

//字符串copy函数技术推演

//字符串copy工作

//from形参,to形参的值不断变化(不断from和to的指向)
void copy_str21(char *from,char *to)
{
    for( ; *from!='\0'; from++,to++ )
    {
        *to = *from;
    }//不断改变指针的指向
    *to = '\0';

    return;
}

//*操作 和 ++的操作
//++ 优先级高,但作为后缀,先执行*操作
void copy_str22(char *from,char *to)
{
    for( ; *from!='\0'; )
    {
        *to++ = *from++;    //先执行*to = *from;  再执行from++,to++ 
    }//不断改变指针的指向
    *to = '\0';

    return;
}

//不用手工添加‘\0’
void copy_str23(char *from,char *to)
{
    while( (*to = *from) !='\0' )  //执行完表达式(*to = *from)后,该表达式的值即为*to的当前值
    {
        from++;
        to++;
    }

}

void copy_str24(char *from,char *to)
{
    while( (*to++ = *from++) != '\0' )
    {

    }

}

void copy_str25(char *from,char *to)
{
    while( (*to++ = *from++) )
    {

    }

}


void main()
{
    char *from = "abcdefg";
    char buf2[100];
    if( !'\0' )
    {
        printf("%d\n",'\0'); //'\0'的值为0
    }

    copy_str21(from,buf2);
    printf("copy_str21:%s\n",buf2);
    copy_str22(from,buf2);
    printf("copy_str22:%s\n",buf2);
    copy_str23(from,buf2);
    printf("copy_str23:%s\n",buf2);
    copy_str24(from,buf2);
    printf("copy_str24:%s\n",buf2);
    copy_str25(from,buf2);
    printf("copy_str25:%s\n",buf2);
    system("pause");
    return;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值