int strcmp(char *s1, char *s2) { for(; (*s1)!='\0'; s1++, s2++) if (*s1!= *s2) break; return ( /*1*/ ) ; ) void main() ( int i=0,j=0; char c,s1[100],s2[100]; gets(s1); putchar(''); while ((c=getchar())!='') s2[j++]=c; ...
编程实现字符串比较函数mystrcmp,不能使用string.h中声明的strcmp,函数原型如下:int mystrcmp(char *s1, char *s2){
一个公认的实现方法如下: 注意两个形参应该是const char int my_strcmp(const char *s1, const char *s2){ unsignedchar uc1, uc2;while(*s1 !='\0' && *s1 ==*s2){ s1++;s2++;} uc1 =(*(unsignedchar*) s1);uc2 =(*(unsignedchar*) s2);return((uc1 < uc2)?-1:(uc1...
//void strcmp(char *s1,char *s2)int strcmp(const char *s1,const char *s2){ int s=0,i;//空指针处理 if(s1==NULL && s2==NULL)// { return 0;} else if(s1==NULL){ return -(int)(unsigned char )(*s2); //0-*s2;} else if(s2==NULL){ return *s1;} //一直找到...
一般大家都知道比较字符型数组大小的函数strcmp 下面是strcmp的介绍: 原型:extern int strcmp(const char *s1,const char * s2); 所在头文件:string.h 功能:比较字符串s1和s2。 一般形式:strcmp(字符串1,字符串2) 说明: 当s1<s2时,返回为负数 当s1=s2时,返回值= 0 ...
一般大家都知道比较字符型数组大小的函数strcmp 下面是strcmp的介绍: 原型:extern int strcmp(const char *s1,const char * s2); 所在头文件:string.h 功能:比较字符串s1和s2。 一般形式:strcmp(字符串1,字符串2) 说明: 当s1<s2时,返回为负数 当s1=s2时,返回值= 0 ...
char代表参数类型为字符型 char *代表字符类型为字符型的指针(即s1、s2为指针指向一个字符型的内存空间的首地址)前面加上const修饰,代表这个s1和s2不可修改
//都为NULL ,相等 return 0;} int main(){ char s1[]="hello";char s2[]="hello world!";int i=strcmp(s1,s2);switch(i){ case 0 :cout<<"s1==s2"<<endl;break;case 1 :cout<<"s1>s2"<<endl;break;case -1:cout<<"s1<s2"<<endl;break;} return 0;} ...
若有定义:int a = 2;则语句a = strcmp("miss", "miss");运行后a的值为0;答案选择B;int strcmp ( char const *s1, char const *s2);如果s1小于s2,strcmp函数返回一个小于零的值。如果s1大于s2,函数返回一个大于零的值。如两个字符串相等,函数就返回零。明显两字符串相等 所以a=...
int compare(const char *s1, const char *s2){ for(; *s1 == *s2; ++s1, ++s2){ if(*s1 == 0){ return 0;} } return *(unsigned char *)s1 < *(unsigned char *)s2 ? -1 : 1;} int main(int argc, char **argv){ char str1[20] = {NULL};char str2[20] = {...