标签:else 大于 strcmp style class int 返回 函数实现 null
原型:int strcmp(const char *str1,const char *str2)
原理:根据大于,小于,相等分别返回正,负,零
实现:
int strcmp(const char* str1, const char* str2) { int ret = 0; while(!(ret=*str1-*str2) && *str1) { str1++; str2++ } if (ret < 0) { return -1; } else if (ret > 0) { return 1; } return 0; }
方法2:
int strcmp(const char* str1, const char* str2) { while ((*str1) && (*str1 == *str2)) { str1++; str2++; } if (*str1 > *str2) { return 1; } else if (*str1 < *str2) { return -1; } else { return 0; } }
错误的代码:"abcd"和“abfd”会显示相等,为什么?:
int strcmp(const char *str1,const char *str2) { while ((*str1) && (*str1++ == *str2++)) { NULL; } if (*str1 > *str2) { return 1; } else if (*str1 < *str2) { return -1; } else { return 0; } }
标签:else 大于 strcmp style class int 返回 函数实现 null
原文地址:http://www.cnblogs.com/litifeng/p/7465173.html