用C语言编程序:用指针方法处理:写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数

用C语言编程序:用指针方法处理:写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为int strcmp(char *p1,char *p2);设p1指向字符串s1,p2指向字符串s2。要求当s1=s2,返回值为0;若s1≠s2,返回它们二者第一个不同字符的ASCII码差值(如"BOY"与"BAD",第二个字母不同,"O"与"A"之差为79-65=14)。如果s1>s2,则输出正值;如果s1<s2,则输出负值。被比较的字符串必须如下:char *s1="apple",*s2="abcde";

第1个回答  推荐于2016-12-06
int strcmp(char *p1, char *p2)
{
while (*p1 && *p2)
{
if (*p1 > *p2)
return 1;
else if (*p1 < *p2)
return -1;
else
{p1++; p2++;}
}
if (*p1==0 && *p2==0)
return 0;
else if (*p1==0)
return -1;
else
return 1;
}本回答被提问者采纳

...实现两个字符串的比较。即自己写一个strcmp函数,函数
return -1;else return 1;}

C语言:1.用一个函数实现两个字符串的比较,即自己写一个strcmp函数. 2...
return -1;} else { return 1;} } int main(){ char a[20],b[20] ;printf("请输入两个字符串:\\n") ;scanf("%s%s",a,b) ;if (compare(a,b)==0){ printf("a==b\\n") ;} else if(compare(a,b)==1){ printf("a>b\\n") ;} else { printf("a<b\\n") ;} printf(...

求教,c语言 写一个函数,实现两个字符串的比较。即自己写一个strcmp函...
首先要理解指针的含义,即*p代表的是p[0] *(p+1)代表的是p[1],在这个基础上,我们来看上面两行代码 while(*(p1+i)==*(p2+i))if (*(p1+i++)=='\\0') return(0);注意到这一个while,也就是说这一段的作用是找到两个字符串第一个不相等的地方的位置,如果找到了‘\\0’,即...

C++ 写一个函数,实现两个字符串的比较,即自己写一个strcmp函数
if (P1[q]!= P2[q]) return (int)(p1[q] - p2[q]);} \/\/如果在q个字符P1不等于P2,返回ASCII码差 \/*如果两个字符串都检测结束了,还没有发现不同字符那就要比较两个字符串长度是否一样*\/ if(i==q) return 0;else return (int)P1[q+1]; \/\/如果字符串P1比P2长,打出P1...

用一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数原型为...
\/\/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函数,函数的原型为...
|| ((*a == 0) && (*b == 0))) return 1; \/\/如果已经比较到字符串结尾,则表示字符串相等 if ((strlen(a) != strlen(b)) || (a[0] != b[0])) return 0; \/\/如果长度不相同或发现不相等字符,则表示字符串不相等 return my_strcmp(++a, ++b); \/\/判断下一个字符 } ...

用一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数原型为...
写一个函数,实现两个字符串的比较,即自己写一个strcmp函数,函数原型为:int strcmp(char*p1,char*p2) 设p1指向字符串s1,p2指向字符串s2, 要求:当s1=s2时,返回0,s1<>s2时,返回它们二者的第一个不同字符的ASCII码;如果s1>s2,输出正值,如果s1<s2,... 展开 推...

请问错在哪了?用一个函数实现两个字符串的比较,即自己写一个strcmp函...
1)、 f1=strcmp(&s1,&s2); 这地方传值是地址,s1和s2就是地址为什么还要给取地址呢;2)、printf("%d",f1); 最好要在后面加换行符号 '\\n';3)、 for(i=0;*p1!='\\0'||*p2!='\\0';i++) 指针比较不是这样的 ,只需要直接判断是否为空就行了,如:*p1 != NULL; 而且在这...

用C语言编写:编写一个函数,要求在主函数中输入两个数,输出其中最大值...
C语言代码如下:include<stdio.h> int main(){ int a,b;printf("please enter two number:"); ---两个数字用空格隔开,以回车键结束输入。scanf("%d %d",&a,&b);if(a>b)printf("The max is %d",a);else if(b>a)printf("The max is %d",b);else printf("The two Numbers...

用c语言编写一个程序。
输入一个字符串,程序算法切割为“单词”,存入链表或者数据库,再读入之后查询链表或者数据库,记录重复次数 。将一个单词定义为不包含空白字符(即没有空格、制表符或者换行符)的一系列字符,比如“googoogxf”和"s2t2"都是单词(单词中可以有数字,linux 下 vim的查找功能就基本以这种方法)。每个...

相似回答