2.写出四个函数族(strlen、strcpy、strcmp、strcat)
#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;
}
#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;
}
#include<stdio.h>
#include<string.h>
void my_strcmp(const char *arr,const char *brr)
{
while(*arr!='\0'&&*brr!='\0'&&*arr==*brr)//循环至不相等的位置或'\0'的位置
{
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;
}
#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;
}