#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#define N 100
//当s1<s2时,返回为负数;
//当s1==s2时,返回值= 0;
//当s1>s2时,返回正数。
//即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。
int my_strcmp(char * str1, char * str2);
int main()
{
char str1[N], str2[N];
printf("输入两个字符串(字符串不包含空格):\n");
while(scanf("%s %s", str1, str2) != EOF)
{
printf("my_strcmp = %d\n", my_strcmp(str1, str2));
printf("strcmp = %d\n", strcmp(str1, str2));
printf("继续输入或者输入control+z结束(EOF):\n");
}
return 0;
}
int my_strcmp(char * str1, char * str2)
{
int i;
for(i = 0; ; i++)
{
if((str1[i] == str2[i]) && str1[i] != '\0') continue;
else if((str1[i] == str2[i]) && str1[i] == '\0') return 0;
else if(str1[i] > str2[i]) return 1;
else return -1;
}
}
#include <stdlib.h>
#include <strings.h>
#define N 100
//当s1<s2时,返回为负数;
//当s1==s2时,返回值= 0;
//当s1>s2时,返回正数。
//即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。
int my_strcmp(char * str1, char * str2);
int main()
{
char str1[N], str2[N];
printf("输入两个字符串(字符串不包含空格):\n");
while(scanf("%s %s", str1, str2) != EOF)
{
printf("my_strcmp = %d\n", my_strcmp(str1, str2));
printf("strcmp = %d\n", strcmp(str1, str2));
printf("继续输入或者输入control+z结束(EOF):\n");
}
return 0;
}
int my_strcmp(char * str1, char * str2)
{
int i;
for(i = 0; ; i++)
{
if((str1[i] == str2[i]) && str1[i] != '\0') continue;
else if((str1[i] == str2[i]) && str1[i] == '\0') return 0;
else if(str1[i] > str2[i]) return 1;
else return -1;
}
}