c strcmp函数实现代码
int * Mystrcmp(const char * str1, const char *str2) { while (*str1++ == *str2++) { if (*str1=='\0') { return 0; } if (*str1!= *str2) { if (*str1 > *str2) { return 1; } else { return -1; } } } }
这里实现的是微软标准的函数 ansi标准的话要计算字符的ascii码相差值 所以为了可移植性在写代码判断应该是区间判断而不是判断是不是等于-1和1
在ansi 只会返回小于0或者大于0的数 2个标准相等都会返回0
下面是ansi标准实现
int * Mystrcmp(const char * str1, const char *str2) { while (*str1++ == *str2++) { if (*str1=='\0') { return 0; } } return *str1 - *str2; }
从此山高路远,纵马扬鞭。愿往后旅途,三冬暖,春不寒,天黑有灯,下雨有伞。此生尽兴,不负勇往。