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>