本文旨在通过自主编写程序实现函数strcmp的功能。代码如下:
#include <stdio.h>
#define MAX 10
//Compare string
int mystrcmp(const char *str1,const char *str2);
int main(int argc,char *argv[])
{
char value;
char str1[MAX],str2[MAX];
printf("Please input str1 and str2 :\n");
gets(str1); //gets 和 printf的区别,gets可接收含空格的字符串,而scanf遇TAB,空格,回车即结束
gets(str2);
value = mystrcmp(str1,str2);
printf("value :%d\n",value);
return 0;
}
int mystrcmp(const char *str1,const char *str2)
{
char i = 0;
for(; i < MAX, *(str1+i) != '\0',
*(str2+i) != '\0'; i++){
if(*(str1+i) == *(str2+i))
continue; //相等时继续比较下一位
return (*(str1+i) > *(str2+i))?1:(-1);
}
return 0;
}