strcmp是string.h里面的一个库函数,用来比较两个字符串,我们也可以自己写一个,
或许没有库函数那么严谨,但也能基本实现他的用处。
#include<stdio.h>
int my_strcmp(char* arr1,char* arr2)
{
int i=0;
while(*(arr1+i)==*(arr2+i)&&*(arr1+i)!=0&&*(arr2+i)!=0)
i++;
if(*(arr1+i)>*(arr2+i)) return 1;
else if(*(arr1+i)<*(arr2+i)) return -1;
else return 0;
}
int main()
{
char arr[2][256];
for(int i=0;i<2;i++)
scanf("%s",&arr[i]);
switch(my_strcmp(arr[0],arr[1]))
{
case 1:printf("arr1>arr2");break;
case 0:printf("arr1=arr2");break;
case -1:printf("arr1<arr2");break;
}
return 0;
}
写法和库函数里面一样,比较的是ascii玛值的大小。
测试结果如下
2的ASCII玛大于1的ASCII玛,所以第二个更大。
但我觉得我平时写程序时很多时候更想要一个单纯比较长度的compare函数,
因此,我也打算后续再写一个单纯比较长度的函数。