吉林招聘:将字符串s1和s2比较,若s1>s2,返回值为正;若s1==s2,返回值为0;若s1<s2,返回值为负。

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 13:40:12
编写函数scomp(char*s1,char*s2),将二个字符串s1和s2进行比较,若s1>s2,函数返回值为正数;若s1==s2,函数返回值为0;若s1<s2,函数返回值为负数。相当于库函数strcmp。

指针操作比数组下标操作更高效

int scomp(char *s1, char *s2){

while(s1 && s2 && *s1==*s2)s1++,s2++;
return *s1-*s2;
}

int scomp(char *s1,char *s2)
{
while ((*s1==*s2) && *s1)
{
s1++;
s2++;
}
return *s1-*s2;
}

#include<stdio.h>

int scomp(char *s1, char *s2)
{

while(*s1!='\0' && *s2!='\0')
{
if(*s1>*s2) /*s1>s2*/
return 1;
else if(*s1<*s2) /*s1<s2*/
return -1;
s1++;
s2++;
}

if(*s1!='\0') /*s1>s2*/
return 1;
else if(*s2!='\0') /*s1<s2*/
return -1;
else return 0; /*s1==s2*/
}

int strcmp(char a[],char b[])
{
......
}

wwe