strcmp的作用是利用ASCII值比较两个字符串的大小
两个字符串str1,str2,若str1>str2,则返回一个大于0的正数,若str1<str2,则返回一个小于0的负数,若相等,则返回0
#include <stdio.h>
#include<assert.h>
#include<Windows.h>
int my_strcmp(const char *str1, const char *str2)
{
while (*str1 || *str2)//当两个字符串的字符都变为'\0'时,循环停止
{
if (*str1 > *str2)//比较出大小时,结束该函数
return 1;
else if (*str1<*str2)
return -1;
str1++, str2++;//一样大时,对其进行++,比较下一个字符大小
}
return 0; //如果可以运行到这里,说明循环停止,两个字符相等
}
int main()
{
char p[5]= "ac*";
char q[5]="ac";
printf("%d\n", my_strcmp(p, q));
system("pause");
return 0;
}
下面来介绍strncmp
strncmp的功能是比较两个字符串前n个字符的大小,实现的方法和strncmp基本相同
#include <stdio.h>
#include<assert.h>
#include<Windows.h>
int my_strncmp