请高手指教一题!!!关于c语言编程的,急用!!!!

来源:百度知道 编辑:UC知道 时间:2024/06/04 07:26:17
用指针方法编写程序完成如下函数的功能:
int strcmp(char *str1,char *str2)
比较两个字符串str1,str2.
若str1>str2,返回正数;
str1= =str2,返回0;
str1<str2,返回负数。

#include<stdio.h>
int strcmp(char *p1,char *p2)
{
int i;
for(i=0;*(p1+i)!='\0';i++)
if(*(p1+i)!=*(p2+i))
break;
return(*(p1+i)-*(p2+i));
}
void main()
{
int t;
char s1[20],s2[20],*pointer_1,*pointer_2;
printf("enter array s1 and s2:\n");
gets(s1);
gets(s2);
pointer_1=s1;
pointer_2=s2;
t=strcmp(pointer_1,pointer_2);
printf("t=%d\n",t);
}

这是从 linux 内核中找到的

int strcmp(const char * cs, const char * ct)
{
register signed char __res;

while (1) {
if ((__res = *cs - *ct++) != 0 || !*cs++)
break;
}

return __res;
}