实现strcmp功能
判断两个字符串的大小
1 #include <stdio.h> 2 3 int my_strcmp(const char *str1,const char *str2) 4 { 5 //判断两个字符串是否为空 6 if((str1 == NULL) && (str2 == NULL)) 7 { 8 exit(0); 9 } 10 //利用while循环,str1不为零,判定str1的值是否等于str2的值 11 while((*str1) && ((*str1==*str2))) 12 { 13 str1++; 14 str2++; 15 } 16 17 //如果str1大于str2,第一字符串大于第二个字符串 18 if(*(unsigned char *)str1 > *(unsigned char *)str2) 19 { 20 printf("The first string is greater than the second string\n"); 21 return 1; 22 } 23 //如果str1小于str2,第一个字符串小于第二个字符串 24 else if(*(unsigned char *)str1 < *(unsigned char *)str2) 25 { 26 printf("The first string is less than the second string\n"); 27 return -1; 28 } 29 //如果循环完成,str1等于str2,那么这两个字符串相等 30 else 31 { 32 printf("Two strings are equal\n"); 33 return 0; 34 } 35 36 } 37 int main(int argc, char *argv[]) 38 { 39 char a[]="hfllo45"; 40 char b[]="hello45"; 41 42 my_strcmp(a,b); 43 44 return 0; 45 }
如果有错误,欢迎各位网友指导。
另外喜欢的话,给个推荐呗,谢谢!