摘要: strcat函数: char *strcat*(char *d,const char *s)将s串复制到d串结尾(覆盖d的'\0'),并在新串后加'\0'.当然,d串要有足够的空间容得下s串的内容.char *my_strcat(char *d,const char *s){ char *str_dest=d; while(*d!='\0') d++; while((*d++=*s++)!='\0'); return str_dest;}1.第一行为了保存d的地址,返回str_dest也是为了链式表达式.2.while((*d++ 阅读全文
posted @ 2014-02-14 16:25 brillliu 阅读(666) 评论(0) 推荐(0) 编辑
摘要: 要求写个函数来实现strlen()函数.解: 代码非常的简单,相信大家很容易想到类似下面这种代码:int my_strlen(const char *s){ int i=0; assert(s!=NULL); while(*s++) i++; }但是面试的时候大多会增加点难度,即不用中间变量来实现这个函数.这个时候我们只能用递归了.int my_strlen(const char *str){ if ((str == NULL) || (*str == '\0')){ return 0; }else{ re... 阅读全文
posted @ 2014-02-14 15:27 brillliu 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 看面试题的时候有个题目是不使用库函数,实现strcpy函数.(字符串拷贝函数)这个是我写的代码,在机器上编译过了.void my_strcpy(char *t,char *s){ while((*t++=*s++));}看了很多帖子,发现我这个代码的问题还是很多的.即使这么简单的一个小程序也有很多的东西需要考虑.下面总结:1.关于函数返回值.我写的是void,即函数不返回参数.所以我这个函数的唯一目的是将s地址字符串复制到t上.不返回任何信息.这样写的代码在以后使用是不方便的.林锐里提到:返回char *的目的是为了实现链式表达式.如: int length=strlen(... 阅读全文
posted @ 2014-02-14 01:02 brillliu 阅读(7952) 评论(0) 推荐(1) 编辑