复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13// strcat的实现 char * strcat(char * dest, const char * src){ assert(dest && src); char * ret = dest; // 找到dest的''结尾符 while(*dest){ dest++; } // 拷贝(while循环退出时,将结尾符''也做了拷贝) while(*dest++ = *src++){} return ret; }
复制代码
1
2
3
4
5
6
7
8
9
10
11// strcmp的实现 int strcmp(const char * str1, const char * str2){ assert(str1 && str2); // 找到首个不相等的字符 while(*str1 && *str2 && (*str1==*str2)){ str1++; str2++; } return *str1 - *str2; }
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23// strcpy的实现 char * strcpy(char * dest, const char * src){ assert(dest && src); char * ret = dest; // 内存拷贝的字节数 int count = strlen(src) + 1; // 内存拷贝 if(dest <= src || (dest >= src + count)){ // 拷贝方向:从低字节到高字节 while(count--){ *dest++ = *src++; } }else{ // 拷贝方向:从高字节向低字节 dest += (count -1); src += (count -1); while(count--){ *dest--=*src--; } } return ret; }
最后
以上就是清爽小馒头最近收集整理的关于算法:strcpy,strcat,strcmp的实现的全部内容,更多相关算法:strcpy,strcat,strcmp内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复