C语言之指针06

C语言字符串复制方法

版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/qq_42680327   

对上一期最后一题的简化:https://blog.csdn.net/qq_42680327/article/details/98457342

方法一:

#include <stdio.h>
void main(){
    void copy_string(char *from,char *to);
    char *a="I am a teacher";
    char b[]="I am a student";
    printf("String a=%s\nString b=%s\n",a,b);
    printf("copy string a to string b:\n");
    copy_string(a,b);
    printf("\nstring a=%s\nstring b=%s\n",a,b);
}
void copy_string(char *from,char *to){
    while((*to=*from)!='\0'){
        to++;
        from++;
    }
}

方法二:

#include <stdio.h>
void main(){
    void copy_string(char *from,char *to);
    char *a="I am a teacher";
    char b[]="I am a student";
    printf("String a=%s\nString b=%s\n",a,b);
    printf("copy string a to string b:\n");
    copy_string(a,b);
    printf("\nstring a=%s\nstring b=%s\n",a,b);
}
void copy_string(char *from,char *to){
    while((*to++=*from++)!='\0'){
        ;
    }
}

方法三:

#include <stdio.h>
void main(){
    void copy_string(char *from,char *to);
    char *a="I am a teacher";
    char b[]="I am a student";
    printf("String a=%s\nString b=%s\n",a,b);
    printf("copy string a to string b:\n");
    copy_string(a,b);
    printf("\nstring a=%s\nstring b=%s\n",a,b);
}
void copy_string(char *from,char *to){
    while(*from!='\0'){
        *to++=*from++;
    }
    *to='\0';
}

方法四:

#include <stdio.h>
void main(){
    void copy_string(char *from,char *to);
    char *a="I am a teacher";
    char b[]="I am a student";
    printf("String a=%s\nString b=%s\n",a,b);
    printf("copy string a to string b:\n");
    copy_string(a,b);
    printf("\nstring a=%s\nstring b=%s\n",a,b);
}
void copy_string(char *from,char *to){
    while(*to++=*from++){
        ;
    }
}

方法五:

#include <stdio.h>
void main(){
    void copy_string(char *from,char *to);
    char *a="I am a teacher";
    char b[]="I am a student";
    printf("String a=%s\nString b=%s\n",a,b);
    printf("copy string a to string b:\n");
    copy_string(a,b);
    printf("\nstring a=%s\nstring b=%s\n",a,b);
}
void copy_string(char *from,char *to){
    for(;*to++=*from++;){
        ;
    }
}

方法六:

#include <stdio.h>
void main(){
    void copy_string(char from[],char to[]);
    char *a="I am a teacher";
    char b[]="I am a student";
    printf("String a=%s\nString b=%s\n",a,b);
    printf("copy string a to string b:\n");
    copy_string(a,b);
    printf("\nstring a=%s\nstring b=%s\n",a,b);
}
void copy_string(char from[],char to[]){
    char *p1,*p2;
    p1=from;
    p2=to;
    while((*p2++=*p1++)!='\0'){
        ;
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小智解说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值