1.用函数实现strcat的功能
#include<stdio.h>
char *strcat(char *str1,char *str2){
char *pt=str1;
while(*str1!='\0')
str1++;
while(*str2!='\0')
*str1++=*str2++;
*str1='\0';
return pt;
}
int main()
{
char a[100]="zhang";
char b[]="hong";
char *cat=strcat(a,b);
printf("%s\n",cat);
return 0;
}
执行结果:
liuzj@ET302Buildver:~/zhanghong$ gcc strcat2.c
liuzj@ET302Buildver:~/zhanghong$ ./a.out
zhanghong
liuzj@ET302Buildver:~/zhanghong$
#include<stdio.h>
#include<stdlib.h>
int main()
{
char *aa="abc";
char *bb="bcd";
char *cc=NULL;
cc=(char*)malloc(strlen(aa)+strlen(bb)+1);
char *dd=cc;
// cc=aa; //为什么用cc来接收aa就会有段错误
while(*aa!='\0')
*dd++=*aa++;
printf("%s\n",cc);
while(*bb!='\0') //这里如果写while(*bb!='\0')就是错的
{
*dd++=*bb++;
}
dd="\0";
printf("%s\n",cc);
free(cc);
return 0;
}
"strcat.c" 25L, 365C
2.用函数实现strncat的功能: