不使用strcmp
ç¨strcmpå½æ°å³å¯ã
int strcmp( const char *str1, const char *str2 );
è¿åå¼
less than 0 str1 is less than str2
equal to 0 str1 is equal to str2
greater than 0 str1 is greater than str2
#include <stdio.h>#include <string.h>
int main()
{
char str1[100], str2[100];
printf("intput str1 :");
gets(str1);
printf("intput str2 :");
gets(str2);
switch (strcmp(str1, str2)) // æ¯è¾str1, str2
{
case 0: puts("result: str1 = str2."); break;
case 1: puts("result: str1 > str2."); break;
case -1: puts("result: str1 < str2."); break;
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2018-11-04
//看清楚,这个strcmp是我编的啊!不喜欢这个名子,你可以换。
#include<stdio.h>
int strcmp(char *t,char *s)
{
int i=0;
while(t[i]==s[i]&&s[i]&&t[i]) i++;
if(s[i]=='\0'&&t[i]=='\0')
return 0;//表示相等。
else if(t[i]>s[i]) return 1;//表示第一个大于第二个。
else return -1;//表示第一个小于第二个。
}
int main()
{
char s1[81],s2[81];
gets(s1);
gets(s2);
printf("%d\n",strcmp(s1,s2));
return 0;
}本回答被提问者和网友采纳
#include<stdio.h>
int strcmp(char *t,char *s)
{
int i=0;
while(t[i]==s[i]&&s[i]&&t[i]) i++;
if(s[i]=='\0'&&t[i]=='\0')
return 0;//表示相等。
else if(t[i]>s[i]) return 1;//表示第一个大于第二个。
else return -1;//表示第一个小于第二个。
}
int main()
{
char s1[81],s2[81];
gets(s1);
gets(s2);
printf("%d\n",strcmp(s1,s2));
return 0;
}本回答被提问者和网友采纳