(1)mystrlen
代码:
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
int mystrlen(char *p)
{
int i=0;
for(i=0;p[i]!=0;i++);
return i;
}
int main(int argc, const char *argv[])
{
char s[30];
printf("请输入一串字符:");
gets(s);
int len=mystrlen(s);
printf("字符的实际长度为:%d\n",len);
return 0;
}
(2)mystrcmp
代码:
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
int mystrcmp(char *p,char *q)
{
if(*p=='\0'&&*q=='\0')
{
return 0;
}
if((*p<*q)||(*p>*q))
{
return (*p-*q);
}
if(*p==*q)
return mystrcmp(p+1,q+1);
}
int main(int argc, const char *argv[])
{
char s1[30];
char s2[30];
printf("请输入第一个字符串:");
gets(s1);
printf("请输入第二个字符串:");
gets(s2);
int t=mystrcmp(s1,s2);
if(t>0)
{
printf("s1大\n");
}else if(t<0)
{
printf("s2大\n");
}else
{
printf("s1和s2一样大\n");
}
return 0;
}
(3)mystrcat
代码:
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
void mystrcat(char *p,char*q)
{
int i=0;
int j=0;
while(*(p+i)!='\0')
i++;
for(j=0;*(q+j)!='\0';j++)
{
*(p+i)=*(q+j);
i++;
}
p[i]=q[j];
printf("%s\n",p);
}
int main(int argc, const char *argv[])
{
char s1[30];
char s2[30];
printf("请输入第一个字符串:");
gets(s1);
printf("请输入第二个字符串:");
gets(s2);
mystrcat(s1,s2);
return 0;
}
(4)mystrcpy
代码:
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
void mystrcpy(char *p,char *q)
{
int i = 0;
while(*(q+i)!='\0')
{
*(p+i)=*(q+i);
i++;
}
*(p+i)=*(q+i);
printf("%s\n",p);
}
int main(int argc, const char *argv[])
{
char s1[30];
char s2[30];
printf("请输入第一个字符串:");
gets(s1);
printf("请输入第二个字符串:");
gets(s2);
mystrcpy(s1,s2);
return 0;
}