改写strlen strcpy strcmp strcat。封装成函数
#include <stdio.h>
void strcpy1(char *,char *);
int strlen1(char *);
int strcmp1(char *,char *);
void strcat1(char *,char *);
int main(int argc,const char* argv[])
{
char s1[30];
char s2[10] = "abcdef";
strcpy1(s1,s2);
printf("%s\n",s1);
char s3[20] = "abcdefgh";
printf("%d\n",strlen1(s2));
printf("%d\n",strcmp1(s3,s2));
strcat1(s2,s3);
printf("%s\n",s2);
return 0;
}
void strcpy1(char *s1,char *s2)
{
while(1)
{
*s1++ = *s2++;
if(*(s2-1) == '\0')
break;
}
}
int strlen1(char *s)
{
int count=0;
while(*s++)
count++;
return count;
}
int strcmp1(char *s1,char *s2)
{
while(*s1 != '\0' && *s1 == *s2)
{
s1++;
s2++;
}
return *s1-*s2;
}
void strcat1(char *s1,char *s2)
{
while(*s1)
s1++;
while(1)
{
*s1++ = *s2++;
if(*(s2-1) == '\0')
break;
}
}