1.思想:①.比较两个字符串涉及对两个字符串对应的字符逐个进行比较,直到发现不匹配为止,返回比较结果。
②.strcmp函数实际上是对字符的ASCII码进行比较,strcmp函数最多比较到其中一个字符串遇到'\0'为止。
2.函数原型如下:int my_strcmp(char const *p,char const *q)
3.返回结果如下规定:
①.p>q,返回值1;
②.p=q,返回值0;
③.p<q,返回值-1;
代码如下:
<span style="font-size:18px;">#include<stdio.h>
#include<string.h>
#include<assert.h>
int my_strcmp(char const *p,char const *q)
{
assert(p);
assert(q);
while(*p==*q)
{
if(*p=='\0')
return 0;
p++;
q++;
}
if(*p>*q)
return 1;
if(*p<*q)
return -1;
}
int main()
{
char arr[10] = "abcbc";
char *a = "abccb";
char *b="abc";
char *c="abc";
char *d="abc";
char *e="abb";
printf("%d\n",my_strcmp(arr,a));
printf("%d\n",my_strcmp(b,c));
printf("%d\n",my_strcmp(d,e));
getchar();
return 0;
}</span>