20170912_字符串比较函数strcmp的实现
//strcmp(str1,str2)函数比较两个字符串的大小
//str1大,返回正数1,str2大,返回负数-1,相等,返回0。
#include<iostream>
#include<cstdio>
#include<cassert>
#include<string>
using namespace std;
int strCmp(const char *str1, const char *str2) //形式参数不容改变
{
//if(str1==NULL && str2==NULL)
// return 0;
assert(str1!=NULL && str2!=NULL); //判断字符指针是否是空
int res=0;
while( !(res = *(unsigned char *)str1 - *(unsigned char *)str2) && *str1)
{
++str1;
++str2;
}
if(res==0)
return 0;
else if(res>0)
return 1;
else
return -1; //要有返回值
}
int main()
{
//char *str[2]={"",""};
//char *str[2]={"","a"};
//char *str[2]={"a",""};
//char *str[2]={"abcde","abcdE"};
//char *str[2]={"abc de","abcdE"};
char *str[2]={"abcde","abcdefg"};
//char *str[2]={"abcdefghij","abcdefg"};
cout<<"Input string is: "<<str[0]<<","<<str[1]<<endl;
int res=0;
res=strCmp(str[0],str[1]);
cout<<"Cmpare result is: "<<res<<endl<<endl;
system("pause");
return 0;
}