用函数实现对两个字符串str1和str2的比较:strcmp (str1,str2)

本人新手,尽量用比较简单的语句,谢谢了
用函数实现,不能直接用strcmp (str1,str2)

这个函数是 字符串内字符自左向右逐个比较(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。
当str1<str2时,返回值<0
当str1=str2时,返回值=0
当str1>str2时,返回值>0

程序如下:
int strcmp(char * str1,char * str2)
{
int i=0,temp=0,ans=0;

while((str1[i]!='\0')&&(str2[i]!='\0'))
{
temp=str1[i]-str2[i];
if(temp==0)
{
i++;
continue;
}
else
{
ans=temp;
break;
}
}
return ans;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-11
c语言呀?很多年不用了,但给你个提示
1、len分别测2个字符串的长度,如果长度不等,必然不同
2、如果长度相同,for循环,逐位比较,如果不同,break
3、全部相同,即2字符串相同
第2个回答  2010-07-11
if(strcmp (str1,str2)==0)则两个字符串相等,
else if(strcmp (str1,str2)>0)则字符串str1大于字符串str2
else if(strcmp (str1,str2)<0)则字符串str1小于字符串str2
第3个回答  2010-07-11
//---------------------------------------------------------------------------

#include <stdio.h>
int strcmp(const char *a,const char *b)
{
int i ;
for (i = 0; a[i]&&b[i]; i++)
if (a[i]!=b[i]) break;

return a[i]-b[i];
}
int main(void)
{
char a[]="abc";
char b[]="abd";
printf("%d",strcmp(a,b));
return 0;
}
//---------------------------------------------------------------------------

用函数实现对两个字符串str1和str2的比较:strcmp (str1,str2)
这个函数是 字符串内字符自左向右逐个比较(按ASCII值大小相比较),直到出现不同的字符或遇'\\0'为止。当str1<str2时,返回值<0 当str1=str2时,返回值=0 当str1>str2时,返回值>0 程序如下:int strcmp(char * str1,char * str2){ int i=0,temp=0,ans=0;while((str1[i]!='\\0...

用函数实现对两个字符串str1和str2的比较:strcmp (str1,str2)
int mystrcmp(char str1[],char str2[])\/\/比较字符串大小,若str1大,输出1,若相等,输出0,否则输出-1 { int i=0;while(str1[i]!=0&&str2[i]!=0&&str1[i]==str2[i]){ i++;} if(str1[i]>str2[i])return 1;if(str1[i]<str2[i])return -1;if(str1[i]==str2[...

判断两个字符串str1和str2是否相等,应当怎样操作?
1)利用strcmp函数 if(strcmp(str1, str2)==0)printf("这两个字符串相等!\\n");解释:当str1大于str2时,strcmp函数返回值为大于零的值,如果str1小于str2时返回小于0的值,如果相等时返回值为0;2)利用逐个字符比较进行判别 while(*str1++ == *str2++);if(*(--str1)>*(--str2))p...

编写一个模仿字符串比较函数strcmp()的程序,实现两个字符串s1,s2的比较...
strcmp(char* str1,char* str2)的比较方式 是从字符串头开始向后逐个字符比较,若str1的i位字符的ascii码大于或小于str2的相同位字符的ascii码 则返回str1[i]与str2[i]的差(大于返回正值,小于返回负值),若相等则返回0。这里&&是判断2个字符串是否判断到末尾,字符串末尾为'\\0',该while...

C语言中用strcmp函数比较字符和字符串是否相等。
strcmp函数功能是比较两个字符串的大小,返回比较的结果。函数形式:strcmp(str1,str2)参数说明:str1,str2可以是字符串常量或变量。结果说明:①返回值小于0,说明str1小于str2。②返回值等于0,说明str1与str2相等。③返回值大于0,s说明str1大于str2。

输入两个字符串str1,str2,判断如果字符串str1大于str2 ,则互换两个字 ...
include <stdio.h>#include <string.h>int main(){ char s1[100],s2[100], t[100]; scanf("%s%s",s1,s2); if(strcmp(s1, s2)>0) { strcpy(t,s1); strcpy(s1,s2); strcpy(s2,t); } if(strlen(s1)>strlen(s2)) { strcpy(t,s1); strc...

用strcmp函数怎么比较两个字符串的比较?
strcmp是字符串比较函数,作用是比较字符串1和字符串2 如:strcmp(str1,str2);strcmp("china","korea");比较的结果由函数带回。(1)如果字符串1=字符串2,函数值为0。(2)如果字符串1〉字符串2,函数值为一正整数 (3)如果字符串1<字符串2,函数值为一负整数 具体程序的例子:include <...

输入两个字符串str1和str2,比较两个字符的大小,如果str大于str2,输出1...
include <stdio.h>#include <string.h>int main(){ char s1[100],s2[100]; int i; gets(s1); gets(s2); for(i=0; s1[i]&&s2[i]&&s1[i]==s2[i]; i ++); if(s1[i]==s2[i]) puts("0"); else if(s1[i]>s2[i]) puts("1"); else puts("...

...实现两个字符串的比较。即自己写一个strcmp函数:strcmp(s1,s2) 如...
include<stdio.h> include<string.h> int main(){ char a[100];char b[100];int c;gets(a);gets(b);c=strcmp(a,b);printf("%d",c);return 0;} 这个行吗?刚刚写的。

C语言编写一个程序,判别两字符串str1和str2的大小。要求不使用库函数st...
实际上这个题目就是要手动实现strcmp这个函数的功能,在面试中可能会遇到类似的问题(strcpy等)include <stdio.h>\/\/ 当s1 > s2 的时候,会返回正数\/\/ 当s1 < s2 的时候,会返回负数\/\/ 当s1 == s2 的时候,会返回 0int Mystrcmp(char *s1, char *s2){if (s1 == NULL || s2 == NUL...

相似回答