C语言:模拟实现strcat函数

  

题目要求

编写一个C语言程序模拟实现strcat函数。

(我们不妨先模拟实现一下strcat函数,然后再对照一下string.h库函数中strcat函数代码的实现,与大师肩并肩)。

算法分析

strcat函数功能:将两个字符串连接起来,最终返回连接后字符串的首地址。

strcat函数原型:char * strcat (char *桌子,const char * src);

我们清楚地了解了strcat函数功能和原型之后,就很容易分析出算法…

算法总结

第一步:将桌子指向的内容循环遍历至' \ 0的部分。

第二步:将src指向的内容循环拷贝给桌子,包括src后面的' \ 0”。

核心代码

//模拟实现strcat函数   char  * my_strcat1 (char  *桌子,const  char  * src) {   时间=char  *, ret 桌子;//对接受到的两个指针进行断言   断言(桌子);   断言(src);//将桌子遍历至\ 0   而(* dest) {   桌子+ +;   }//将src内容复制在dest之后   而(* src) {   *桌子+ +,=,* src + +;   }//在桌子后面追加\ 0   * dest =, ' \ 0 ';   return 回收;   }

完整测试代码

/*   *本代码由高小调原创,版权归高小调博客所有,   *作者:高小调   *日期:2016-8-7   *代码功能:模拟实现strcat函数   *集成开发环境:Microsoft  Visual  Studio  2010年,   */# include   # include   # include//模拟实现strcat   char  * my_strcat1 (char  *桌子,const  char  * src) {   时间=char  *, ret 桌子;//对接受到的两个指针进行断言   断言(桌子);   断言(src);//将桌子遍历至\ 0   而(* dest) {   桌子+ +;   }//将src内容复制在dest之后   而(* src) {   *桌子+ +,=,* src + +;   }//在桌子后面追加\ 0   * dest =, ' \ 0 ';   return 回收;   }//库函数中实现方法   char  * my_strcat2 (char  *桌子,const  char  * src) {   时间=char  *, cp 桌子;//将桌子遍历至\ 0   而(* cp) {   cp + +;   }//将src内容复制在dest之后   而(* cp + +=* src + +) {   ;   }   return 桌子;   }   int  main () {   char  str1 [20],=,“Hello ”;   char  str2 [],=癎xd 博客!”;   char  * ret =, my_strcat1 (str1 str2);   printf (" % s \ n ",随著;   系统(“暂停”);   return  0;   }

输出

 C语言::模拟实现strcat函数

<李>

函数列表

<李>

printf()函数功能,原型,用法和实例

<李>

断言()宏功能,原型,用法和实例

<李>

strcat()函数功能,原型,用法及实例

小调祝你一切安好。

本文由高小调博客原创!

原文地址:http://gaoxiaodiao.com/p/21.html

如欲转载,请注明出处!

PS:我在大二上学期,为了赚取瑜伽教练进修费用,周末在肯德基兼职打工时,生活节奏超快。

下午2半点从学校走,3点半上班,一直到晚12点上。学校关门了,坐个出租的车,去网吧×××。

(肯德基可以报销部分车费)。

当时我心想如果大学毕业以后,每天都是这样生活的话,这未来也太黑暗了吧!

在那段时间内,我一直认为,这应该就是大学中最黑暗的时光了吧!

再回顾下现在,每天早上6点起床去瑜伽馆。

下午5点下课后,火速赶往公交车站,因为6点还有编程课,晚上9点下课…

尽管现在比之前的兼职辛苦更多,但我很享受…

这就是也许传说中的成长吧!

C语言:模拟实现strcat函数