1> 自定义函数(my_strlen)实现strlen函数的功能
#include<stdio.h>
#include<string.h>
void my_strlen(char *arr)
{
int n=0;
while(*arr!='\0') //循环至'\0'
{
n++;
arr++;
}
printf("%d\n",n);
}
int main(int argc,const char *argv[])
{
char a[100]="";
printf("请输入字符串:");
gets(a);
my_strlen(a);
return 0;
}
2> 自定义函数(my_strcpy)实现strcpy函数的功能
#include<stdio.h>
#include<string.h>
char *my_strcpy(char *arr,const char *brr)
{
char *crr=arr;//接受arr存储的地址
while(*brr!='\0') //循环至'\0'
{
*crr=*brr;
crr++;
brr++;
}
return arr;//返回地址
}
int main(int argc,const char *argv[])
{
char a[100]="";
char b[100]="";
printf("请输入字符串:");
gets(b);
char *p=my_strcpy(a,b);//指针接收地址
printf("p=%s\n",p);
return 0;
}
3> 自定义函数(my_strcmp)实现strcmp函数的功能
#include<stdio.h>
#include<string.h>
void my_strcmp(const char *arr,const char *brr)
{
while(*arr!='\0'&&*brr!='\0'&&*arr==*brr)
{
arr++;
brr++;
}
if(*arr=='\0'&&*brr=='\0')
{
printf("=0\n");
}
else if(*arr>*brr||*brr=='\0')
{
printf(">0\n");
}
else
{
printf("<0\n");
}
}
int main(int argc,const char*argv[])
{
char a[100]="";
char b[100]="";
printf("请输入一个字符串:");
gets(a);
printf("请输入一个字符串:");
gets(b);
my_strcmp(a,b);
return 0;
}
4> 自定义函数(my_strcat)实现strcat函数的功能
#include<stdio.h>
#include<string.h>
char my_strcat(char *arr,const char *brr)
{
while(*arr!='\0')//找到arr的‘\0’的位置
{
arr++;
}
while(*brr!='\0')//循环拼接 至brr全部拼接至arr上
{
*arr=*brr;
arr++;
brr++;
}
}
int main(int argc,const char *argv[])
{
char a[100]="";
char b[100]="";
printf("请输入一个字符串:");
gets(a);
printf("请输入一个字符串:");
gets(b);
my_strcat(a,b);
printf("a=%s,b=%s\n",a,b);
return 0;
}
5> 自定义函数(my_strstr)实现求src字符串中是否包含子串dest字符串
#include<stdio.h>
#include<string.h>
int my_strstr(const char *arr,const char *brr)
{
int flag=0,n=0;
for(arr[0];*arr!='\0';arr++)
{
while(*brr!='\0'&&*arr==*brr)
{
arr++;
brr++;
n=n+1;
}
if(!*brr)
{
flag=1;
}
else
{
flag=0;
}
brr-=n;
n=0;
}
return flag;
}
int main(int argc,const char *argv[])
{
char a[100]="";
char b[100]="";
printf("请输入一个字符串:");
gets(a);
printf("请输入一个字符串:");
gets(b);
if(my_strstr(a,b)==1)
{
printf("包含\n");
}
else
{
printf("不包含\n");
}
return 0;
}