求字符串的两个函数
来源:百度知道 编辑:UC知道 时间:2024/06/02 21:09:27
谢谢了!!!
下面这样就可以:
int strcompare(char s1[],char s2[])
{
int i=0,ok=0;
while (s1[i] && s2[i] && ok==0) {ok=s1[i]-s2[2]; i++;}
if (ok==0) ok=s1[i]-s2[i];
if (ok>0) ok=1;
if (ok<0) ok=-1;
return ok;
}
程序依次比较每个字符,知道出现不等,或者某个串结束。
如果比较完成后结果仍然是相等,那么再次对当前字符进行比较,如果这个时候两串同时结束,那么结果为0,否则就是没结束的串大。
最后在返回结果前,把整数改为1,把负数改为-1。
顺序的,用数组存放
如:
char a[10]="123";
char b[20] ="123213";
int strcmp (
const char * src,
const char * dst
)
{
int ret = 0 ;
while( ! (ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst)
++src, ++dst;
if ( ret < 0 )
ret = -1 ;
else if ( ret > 0 )
ret = 1 ;
return( ret );
}
#include <stdio.h>
int strcompare1(char * s1, char