要求:1、以一个借口(函数)的形式实现该功能
2、不能调用现有的C库的接口例如strcpy、strcmp等等,但是可以自己实现这些函数
3,接口需要有扩展性
#include<stdio.h>
#include<stdlib.h>
struct xixi{
char a[100];
char b[10];
char c[10];
int munbe;
char * temp;
};
int strlen2(char *xixi){
int i=0,j=0;
for(i=0;i<500;i++){
if(xixi[i]=='\0'){
break;
}
j++;
}
return j;
}
void strcpy2(char* a,char * b){
int i=0;
for(i=0;i<strlen2(b);i++){
a[i]=b[i];
if(i==strlen2(b)-1){
a[i+1]='\0';
}
}
}
struct xixi * fun(struct xixi* xixi){
int i,j=0,k=0,N=0,M=0,o=0;
char temp[150]={};
for(i=0;i<(strlen2(xixi->a));i++){
if(xixi->a[i]==xixi->b[0]&&xixi->a[i+1]==xixi->b[1]){
j++;
for(N=0;N<strlen2(xixi->c);N++){
temp[k]=xixi->c[N];
k++;
}
i+=strlen2(xixi->b)-1;
continue;
}
temp[k]=xixi->a[i];
k++;
}
xixi->munbe=j;
strcpy2(xixi->a,temp);
return xixi;
}
char * fun1(char*a,char *b){
int i;
for(i=0;i<8;i++){
a[i]=b[i];
}
return a;
}
int main(void){
char aa[100];
char bb[10];
char cc[10];
scanf("%s%s%s",aa,bb,cc);
struct xixi xixi;
strcpy2(xixi.a,aa);
strcpy2(xixi.b,bb);
strcpy2(xixi.c,cc);
# if 0
struct xixi xixi={
.a ="1111hhh1111hhh1111hhh1111",
.b ="hhh",
.c ="HHH",
.munbe =0,
.temp ="wdadawdadwadadawdawdawdawdawda",
};
# endif
struct xixi *haha =fun(&xixi);
printf("%s\n",xixi.a);
printf("%d\n",haha->munbe);
printf("%s\n",haha->a);
return 0 ;
}