strncmp函数:
int strncmp ( const char * str1, const char * str2, size_t n );
str1, str2 为需要比较的两个字符串,n为要比较的字符的数目。
第一个字符串大于第二个字符串,则返回大于0的数字;
第一个字符串等于第二个字符串,则返回0;
第一个字符串小于第二个字符串,则返回小于0的数字;
代码:
#include<stdio.h>
#include<assert.h>
int my_strncmp(const char* string1, const char* string2, size_t count)
{
assert(string1 != NULL && string2 != NULL);
int res = 0;
while (count-- != 0)
{
res = *string1 - *string2;
if (res != 0)
break;
string1++;
string2++;
}
return res;
}
void main()
{
char str1[20] = "hello";
char str2[20] = "hela";
int a = my_strncmp(str1, str2, 3);
int b = my_strncmp(str1, str2, 4);
printf("%d\n", a);
printf("%d\n", b);
}