我们知道包含string.h头文件后,就可以使用strcat和strcmp这两个库函数,strcat是用来连接两个字符串的,strcmp是比较两个字符串的大小,接下来我们将模拟实现他们。文章来源:https://www.toymoban.com/news/detail-542504.html
目录
#strcat的模拟实现
#strcmp的模拟实现
#下期预告:文章来源地址https://www.toymoban.com/news/detail-542504.html
#strcat的模拟实现
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <assert.h> char *my_strcat(char *str1,const char* str2) { assert(str1 && str2); while (*str1 != '\0') { str1++; } while (*str2 != '\0') { *str1 = *str2; str1++; str2++; } *str1 = '\0'; //别忘了补\0 return str1; //这里要有返回值,不然会报错,因为 //我们定义的就有返回值,模拟的是库函数 } int main() { char str1[20] = "hello "; char str2[] = "world!"; my_strcat(str1, str2); printf("str1 = %s", str1); return 0; }
#strcmp的模拟实现
#include <stdio.h> #include <assert.h> int my_strcmp(const char* str1, const char* str2) { assert(str1 && str2); //断言,如果不符合括号里的条件,停止运行并报错 while (*str1 && *str2 && (*str1 == *str2)) { str1++; str2++; } return *str1 - *str2; } int main() { char str1[] = "a ha ha~"; char str2[] = "a ha ha~"; int ret = my_strcmp(str1, str2); if (ret > 0) printf("大于\n"); else if (ret < 0) printf("小于\n"); else printf("等于\n"); return 0; }
#下期预告:
strncpy
strncat
strncmp
strstr
strtok
到了这里,关于你应该知道的C语言干货(3)(strcat和strcmp的模拟实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!