C语言 实现字符串的复制

article/2025/9/30 4:24:56

1.将字符串a的数据复制到字符串b中

(5.for循环指针来实现 )------注释掉部分采用的是此方法

#include <stdio.h>
int main()
{void copy_string(char from[], char to[]);char a[]="I am a student.";//char a[11];//for (int i = 0; i < 10; i++)//{//    scanf("%c", &a[i]);//}char b[] = "You are a teacher.";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);return 0;
}
void copy_string(char from[], char to[])
{int i = 0;while (from[i] != '\0'){to[i] = from[i];i++;}to[i] = '\0';
}

 2.char * str_copy

char* str_copy1(char* d, char* s);
char* str_copy2(char* d, char* s);
char* str_copy3(char* d, char* s);int main(void) 
{char d[] = "qwerrt";char s[] = "asdf213";char* p;//p = str_copy1(d,s);//p = str_copy2(d,s);p = str_copy3(d, s);puts(p);// printf("%s\n",p);return 0;
}char* str_copy1(char* d, char* s) 
{int i=0;while (s[i] != '\0') {d[i] = s[i];i++;}d[i] = '\0';return d;
}char* str_copy2(char* d, char* s) 
{if (d == NULL || s == NULL)return NULL;if (d == s)return d;char* t = d;while ((*d++ = *s++) != '\0');return t;
}char* str_copy3(char* d, char* s)
{char* pd = d, * ps = s;int i = 0, nd = 0, sd = 0;while (*pd != '\0') {    //计算目标字符串长度nd++;pd++;}while (*ps != '\0'){    //计算源字符串长度sd++;ps++;}int dif = nd - sd;       //地址差if (dif < 0){while (d[i] != '\0') {d[i] = s[i];i++;}d[i] = '\0';}else {while (s[i] != '\0') {d[i] = s[i];i++;}d[i] = '\0';}return d;
}

 3.数组的方式实现(访问下标)

#include<stdio.h>//第一种方法:使用数组下标访问
void Copy1(char* des, char* src)
{int i;for (i = 0; src[i] != '\0'; i++)//当src[i]出现'\0'时,代表字符串遍历结束{des[i] = src[i];//给des[i]赋值}des[i] = '\0';//给复制好的des[i]的结尾加上'\0',代表字符串的结束
}
int main()
{char arr[10] = "abcdefg";char brr[10];Copy1(brr, arr);//调用函数1printf("holle world %s", brr);//输出复制好的字符串数组brrprintf("\n");return 0;
}

4.使用指针解引用的方式实现 

//第一种方法:使用指针解引用访问(原理:利用p[i]等价于*(p+i))
#include<stdio.h>void Copy2(char* des, char* src)
{int i;for (i = 0; *(src + i) != '\0'; i++)//当src出现'\0'时,代表字符串遍历结束{*(des + i) = *(src + i);//给des赋值}*(des + i) = '\0';//给复制好的des的结尾加上'\0',代表字符串的结束
}
int main()
{char arr[10] = "abcdefg";char brr[10];Copy2(brr, arr);//调用函数2printf("holle world %s", brr);//输出复制好的字符串数组brrprintf("\n");return 0;
}

编著注:以上对本小题的代码编写的多种方法,欢迎大家收藏借鉴并转发;

               以上代码仅供参考,如有问题欢迎大家在留言区批评指正;

               版权所有,翻印必究,如有雷同纯属巧合,转载请注明出处。

               By CRH380AJ2808 2022.06.09
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/JH13thpig/article/details/125183968
————————————————
 


http://chatgpt.dhexx.cn/article/QrZsPiRr.shtml

相关文章

C语言的字符串复制

提示&#xff1a;仅供参考&#xff0c;如有错误&#xff0c;还望指出。 目录 目录 一、字符串复制 二、一些优化 1.一次简单优化 2.二次优化 3.三次优化 4.四次优化 5.最后的优化 总结 前言 以下是对字符串复制的一些优化 一、字符串复制 这是自己能想到的方法 主要…

不使用strcpy()函数实现字符串复制功能

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h>int main() {/*不使用strcpy()函数实现字符串复制功能*/int i 0;char str1[100];char str2[100];printf("请输入字符串-> \n");gets(str1);while (str1[i] ! \0) /*判断字符数组的第一位不是结束符*/{st…

C语言字符串复制函数strcpy()的编写与详解

strcpy&#xff0c;即string copy&#xff08;字符串复制&#xff09;的缩写。 原型声明&#xff1a;char *strcpy(char *dest, const char *src); 头文件&#xff1a;#include <string.h> 和 #include <stdio.h> 功能&#xff1a;把从src地址开始且含有NULL结束符…

C语言函数库之字符串拷贝函数(string.h)

1.字符串拷贝函数strcpy 函数定义&#xff1a; char *strcpy(char *str1, const char *str2); 函数功能&#xff1a;把字符串str2(包括\0)拷贝到字符串str1当中&#xff0c;并返回str1。举例&#xff1a; #include<stdio.h> #include<string.h> int main(){char s…

【C/C++】C语言复制字符串及复制函数汇总(strcpy()/memcpy()/strncpy()/memmove())

目录: strcpy()举例&#xff1a; memcpy()举例&#xff1a; strncpy()举例&#xff1a; memmove()举例&#xff1a; 我们首先来考虑一个简单的问题&#xff0c;我们定义了一个字符串&#xff0c;然后想要复制这个字符串&#xff0c;在C语言中&#xff0c;我们可以用for循环和指…

C语言编写字符串拷贝(strcpy)函数详解以及assert函数

目录 一.strcpy函数 原型声明 功能 说明 代码及运行结果 二.自己编写strcpy函数 代码一及运行结果 代码二&#xff08;改进&#xff09;及运行结果 代码三&#xff08;进一步改进&#xff09;及assert函数 在这里解释一下什么是asser函数&#xff08;断言函数&#xff…

程序员一般通过什么平台接单

今天给大家介绍几个程序员可以接私活的平台。在外人眼中,程序员敲几行代码就能拿到不错的薪水,理所应当需要掌握与计算机方面相关的技术;私活没有那么好做,但是可以作为一个额外的收入渠道,或者想要找项目练手的程序员,都乐意利用自己的业余时间接私活。 1、程序员客栈 …

福利:总结10个Python赚钱的接单平台!兼职月入5000+

如果说当下什么编程语言最靠谱或者比较适合搞副业&#xff1f; 答案肯定100%是&#xff1a;Python Python是所有语法中最简单易上手的语言&#xff0c;不需要特别的的英语词汇量&#xff0c;逻辑思维也不需要很差就能上手。而且学会了之后就能编写代码爬取各种数据&#xff0c…

大一学生靠爬虫接单月入上万?这些接私活的外包平台分享给你!让你外包接到手软!

概叙 今天听一个同事说起他弟弟&#xff0c;同事他暑假教了两个月的python爬虫&#xff0c;也告诉他怎么接外包赚钱&#xff0c;本意是想他自己能在校给自己赚点生活费&#xff0c;不曾想到一月居然能赚这么多&#xff01;毕竟有了技术的话&#xff0c;除了工作上的&#xff0c…

程序员怎么接单赚外快,去这6个平台就可以了!

前言 说起程序员接外包的网站&#xff0c;你在网上一搜发现数不胜数&#xff0c;但真正有用的却很少。然后你想快速的找到几个靠谱的网站&#xff0c;去看了看接外包的攻略&#xff0c;你会发现排雷的又数不胜数。一时间你还真不知道要选哪一个。 接下来小编就为大家推荐几个…

福利:总结几个Python赚钱的接单平台,兼职月入5000+

如果说当下什么编程语言最靠谱或者比较适合搞副业&#xff1f; 答案肯定100%是&#xff1a;Python Python是所有语法中最简单易上手的语言&#xff0c;不需要特别的的英语词汇量&#xff0c;逻辑思维也不需要很差就能上手。而且学会了之后就能编写代码爬取各种数据&#xff0…

基于安卓的接的快接单平台/基于Android的快的接单平台

【摘要】 随着互联网的趋势的到来&#xff0c;各行各业都在考虑利用互联网将自己的信息推广出去&#xff0c;最好方式就是建立自己的平台信息&#xff0c;并对其进行管理&#xff0c;随着现在智能手机的普及&#xff0c;人们对于智能手机里面的应用接的快接单平台也在不断的使用…

程序员的接单外卖平台

今天王同学给大家安利一款非常实用并且能接单的一款非常好的平台—— 独自开 独自开的功能非常之多 简直不要太香~ 集成第三方数学接口&#xff0c;形成标准化解决方案&#xff0c;提供开发者调用 支付分账功能电子签单功能税务接口硬件接口 独自开的开发功能简直不要太多~ 如…

效果图制作接单平台有哪些?

对于制图师来说&#xff0c;单子就是生命&#xff0c;就是白花花的票子&#xff0c;单子越多&#xff0c;票子越多。一般来说找单子不会是制图师来找&#xff0c;都是公司的商务拉来单子&#xff0c;制图师们只管出活&#xff0c;但如果想要更高的收入&#xff0c;想跳过层层转…

程序员接私活,接单平台

面向国内企业接单&#xff0c;主要好处就是对英语沟通能力的要求没那么高&#xff0c;不过客户屁事多&#xff0c;不懂装懂&#xff0c;需求来回改&#xff0c;喜欢瞎 bb&#xff0c;回款周期长的问题也普遍存在。 因此&#xff0c;我个人觉得&#xff0c;面向国内市场接单&am…

Java程序员接单平台推荐

Java程序员接单已经不再是新鲜事&#xff0c;也有不少学Java的兄弟通过接单得到了不错的收入&#xff1b;生活在二三线的程序员老铁们&#xff0c;靠接单也可以对等一线城市的收入。具体该怎么做&#xff0c;且听我娓娓道来。 (干货满满&#xff0c;建议大家点赞收藏&#xff…

常用Java接单平台一览

不少主攻Java的程序员兄弟除了工作&#xff0c;还会在空闲时间选择接单来增加自己的收入&#xff1b;对于那些生活在二三线的程序员兄弟们&#xff0c;通过接单&#xff0c;来获得与一线城市对等的收入。具体该怎么做&#xff0c;且听我娓娓道来。接下来干货满满&#xff0c;先…

那些你必须要知道的程序员接单平台

作为程序员来说&#xff0c;我们进行的大多数都可以在网络上进行&#xff0c;所以对于接单来说是非常方便的&#xff0c;起码你不需要千里迢迢跑到另外一个城市去进行一份兼职。所以说在闲暇时间动动手指&#xff0c;接几个单子增加点业余收入&#xff0c;也丰富一下自己的经验…

盘点六大程序员接单网站,务必收藏!

程序员接单不是啥新鲜事儿&#xff0c;不少程序员在工作之余会找一点单子来做&#xff0c;进而在二三线城市就拿到对标一线城市的薪资。 有的程序员会上论坛和一些接单群去找单子做&#xff0c;但是一般来说这种的工资会比较低&#xff0c;而且由于没有第三方的保障&#xff0c…

接单平台强烈推荐汇总

&#xff08;1&#xff09;程序员客栈 https://www.proginn.com/ &#xff08;10&#xff09;码市 https://codemart.com/ &#xff08;11&#xff09;猪八戒网 https://luoyang.zbj.com/ &#xff08;100&#xff09;开源众包 https://zb.oschina.net/ &#xff08;101&am…