一: strcmp的使用
• 标准规定:
◦ 第⼀个字符串⼤于第⼆个字符串,则返回⼤于0的数字。
◦ 第⼀个字符串等于第⼆个字符串,则返回0 。
◦ 第⼀个字符串⼩于第⼆个字符串,则返回⼩于0的数字 。
◦ 那么如何判断两个字符串? ⽐较两个字符串中对应位置上字符ASCII码值的⼤⼩。
代码
char arr1[3]="ab";
char arr2[3]="ab";
int i=strcmp(arr1,arr2);
printf("%d\n",i);//结果是0;
二:strcmp的模拟实现
代码
#include<stdio.h>
#include<assert.h>
int my_strcmp (const char * str1, const char * str2)
{
int ret = 0 ;
assert(str1 != NULL);//断言
assert(str2 != NULL);
while(*str1 == *str2)
{
if(*str1 == '\0')
return 0;
str1++;
str2++;
}
return *str1-*str2;
}
int main()
{
char arr[]="ab";
char arr1[]="abc";
int i=my_strcmp(arr,arr1);
printf("%d\n",i);
return 0;
}