//实现strlen,strcat,strcpy,strcmp
#include <stdio.h>
//实现strlen,strcat,strcpy,strcmp
int mystrlen(const char *s)
{
if(NULL == s)
{
return -1;
}
int len = 0;
char *p = s;
while(*p++)
{
len ++;
}
//printf("===%d\n",len);
return len;
}
int mystrcat(char *pStr1,char *pStr2)
{
char *p1 = pStr1;
char *p2 = pStr2;
int len1 = mystrlen(p1);
int len2 = mystrlen(p2);
int i,j;
for(i=len1,j=0;i<len1+len2,j<len2;i++,j++)
{
p1[i] = p2[j];
}
for(i = 0;i<len1+len2;i++)
{
printf("%c",p1[i]);
}
printf("\n");
}
int mystrcpy(char *pStr1,const char *pStr2)
{
if(NULL == pStr1||NULL == pStr2)
{
return -1;
}
char *p1 = pStr1;
char *p2 = pStr2;
int i;
int len1 = mystrlen(p1);
int len2 = mystrlen(p2);
for(i=0;i<len1;i++)
{
p1[i]=p2[i];
}
for(i=0;i<len1;i++)
{
printf("%c",p1[i]);
}
printf("\n");
}
int mystrcmp(char *pStr1,const char *pStr2)
{
if(NULL == pStr1||NULL == pStr2)
{
return -1;
}
char *p1 = pStr1;
char *p2 = pStr2;
int i,j;
int len1 = mystrlen(p1);
int len2 = mystrlen(p2);
int flag = 0;
if(len1 == len2)
{
for(i=0;i<len1;i++)
{
flag += (p1[i]-p2[i]);
//printf("%d .......",flag);
}
//printf("\n");
}
else if(len1 > len2)
{
for(i=0;i<len1;i++)
{
flag += (p1[i]-p2[i]);
//printf("%d .......",flag);
}
}
else if(len1 < len2)
{
for(i=0;i<len2;i++)
{
flag += (p1[i]-p2[i]);
//printf("%d .......",flag);
}
}
return flag;
}
int main()
{
char s[50] = "how are you my friend?A";
char s2[50] ="how are you my friend?AB";
//mystrcpy(s,s2);
int result = mystrcmp(s,s2);
printf("%d\n",result);
//int length = mystrlen(s);
//printf("length = %d\n",length);
return 0;
}