微软方法:
int __cdecl strcmp (const char *src, const char *dst) { int ret = 0 ; while(!(ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst) { ++src; ++dst; } if ( ret < 0 ) ret = -1 ; else if ( ret > 0 ) ret = 1 ; return ret; }
另外一种:
int strcmp(const char *str1, const char *str2) { while(*str1 && (*str1==*str2)){ ++str1; ++str2; } return *str1 - *str2; }
参考资料:微软的strcmp源码