strcmp:
两个字符串按字符逐个比较,若在相同位置的两个字符的ASCII值不等,则比较完成。
#define _CRT_SECURE_N0_WARNINGS 1
#include <stdio.h>
#include<assert.h>
//字符串比较
int my_strcmp(const char* str1, const char* str2)
{
assert(str1 != NULL);
assert(str2 != NULL);
while (*str1 == *str2)
{
if (*str1 == '\0')
return 0;
str1++;
str2++;
}
//vs编译器下的返回
/*if (*str1 > *str2)
return 1;
else
return -1;*/
//标准返回
return *str1 - *str2;
}
int main()
{
char *p = "abcdef";
char *q = "aqaaaaaaaaaa";
//printf("%d\n",my_strcmp(p,q));
int ret = my_strcmp(p, q);
if (ret > 0)
printf("p>q\n");
else if (ret == 0)
printf("p=q\n");
else
printf("p<q\n");
return 0;
}
运行结果:
字符串比较.png
网友评论