作业1:mystrlen
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int mystrlen(char s[]){
int i;
for(i=0;s[i]!='\0';i++){
}
return i;
}
int main(int argc, const char *argv[])
{
char a[30]="hello world";
int len=mystrlen(a);
printf("%d\n",len);
return 0;
}
作业2:mystrcmp
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int mystrcmp(char *p,char *q){
if(*p=='\0'&&*q=='\0'){
return 0;
}
if(*p==*q){
return mystrcmp(p+1,q+1);
}
return *p-*q;
}
运行结果:
作业3:mystrcat
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char mystrcat(char *a,char *b){
int lena=strlen(a);
int lenb=strlen(b);
int j=lena+lenb;
for(int i=0;i<lenb;i++){
a[lena+i]=b[i];
}
return a;
}
int main(int argc, const char *argv[])
{
char a[50]="hello world";
char b[50]="ni hao shanghai";
mystrcat(a,b);
printf("%s\n",a);
return 0;
}
运行结果:
作业4:strcpy
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void mystrcpy(char *a,char *b){
int lenb=strlen(b);
for(int i=0;i<lenb;i++){
a[i]=b[i];
}
}
int main(int argc, const char *argv[])
{
char a[50]="ni hao";
char b[50]="hello world";
mystrcpy(a,b);
printf("%s\n",a);
return 0;
}
运行结果: