字符串比较函数:
int strcmp ( const char * str1, const char * str2 );
printf("%d\n", strcmp("apple", "Banana"));
printf("%d\n", strcmp("Apple", "Apple"));
ASCII码值的比较 从头到尾一次比较
仿真字符串比较函数 strcmp:
int my_strcmp(const char* str1, const char* str2);
int my_strcmp(const char* str1, const char* str2)
{
const char* p = str1;
const char* q = str2;
while (*p == *q && *p)
{
p++;
q++;
}
return *p - *q == 0 ? 0 : (*p - *q) / abs(*p - *q);
}
测试:
printf("%d\n", my_strcmp("apple", "banana"));
完整代码:
#include <stdio.h>
#include <string.h>
#include <math.h>
int my_strcmp(const char* str1, const char* str2);
int main ()
{
/*字符串比较函数*/
/*strcmp*/
printf("%d\n", my_strcmp("apple", "banana"));
printf("%d\n", strcmp("apple", "Banana"));
printf("%d\n", strcmp("Apple", "Apple"));//ASCII码值的比较 从头到尾一次比较
/*仿真字符串比较函数 strcmp */
return 0;
}
int my_strcmp(const char* str1, const char* str2)
{
const char* p = str1;
const char* q = str2;
while (*p == *q && *p)
{
p++;
q++;
}
return *p - *q == 0 ? 0 : (*p - *q) / abs(*p - *q);
}
完整打印: