//第一次尝试:
#include<stdio.h> #include<stdlib.h> int myStrcmp(const char* str1,const char* str2) { if (str1 == NULL || str2 == NULL) { return NULL; } while (*str1 != '\0' || *str2 != '\0') { if (*str1 == *str2) { str1++; str2++; } else if (*str1 > * str2) { return 1; } else { return -1; } } if (*str1 == '\0' && *str2 == '\0') { return 0; } else if (*str1 == '\0' && *str2 != '\0') { return -1; } else{ return 1; } } int main() { char name1[] = "mabaoguo"; char name2[] = "mabaoguoa"; int ret = myStrcmp(name1, name2); printf("%d\n", ret); return 0; }
//模拟实现库函数strcmp,比较简单
//要强调的是,一定要注意参数合法性检验,这很重要。