/*
strlen,strcpy,strcmp,strcat的实现
*/
#include<stdio.h>
int strlen_(const char *s);
char *strcpy(char *dest, const char *src);
int strcmp(const char *s1, const char *s2);
char *strcat(char *dest, const char *src);
int main(void)
{
char a[80]="world";
char b[80]="test";
int strlen_a, strlen_b;
int bors;
char *cpy , *cat;
strlen_a = strlen_(a);
strlen_b = strlen_(b);
bors = strcmp(a, b);
printf("数组a长:%d\n",strlen_a);
printf("数组b长:%d\n",strlen_b);
printf("数组a,b之间差:%d\n",bors);
cat = strcat(a, b);
printf("将a,b合并%s\n",cat);
cpy = strcpy(a, b);
printf("将b赋给a:%s\n",cpy);
return 0;
}
int strlen_(const char *s)
{
int i;
for(i = 0; s[i] != '\0' ; i++);
return i+1;
}
char *strcpy(char *dest, const char *src)
{
int i = 0;
while(src[i]) {
dest[i] = src[i];
i++;
}
dest[i] = '\0';
return dest;
}
int strcmp(const char *s1, const char *s2)
{
int i = 0;
while(s1[i] == s2[i]) {
if(!s1[i])
return 0;
i++;
}
return (s1[i] - s2[i]);
}
char *strcat(char *dest, const char *src)
{
int i = 0;
while(dest[i])
i++;
strcpy(dest + i, src);
return dest;
}