#include "stdio.h" //#include "conio.h" LINUX下没找着这个头文件 #include "stdlib.h" #include "string.h"
char *mme(char *s1 ,char *s2,char *s3) { while(*s1!='\0') { *s3=*s1; //把值附给S3 s1++; s3++; } while(*s2!='\0') { *s3=*s2; s2++; s3++; } return (s3); }
main() { char *a="12345"; char *c=(char *)malloc(strlen(a)); char *b="abc";
mme(a,b,c); printf("%s\n",c); free(c); }
把你最初的稍微的改了下,添加了一个字符指针变量C,把A,B的值都塞入C中 while(*s1!='\0') *p++=*s1++; //跳出循环后,S1已经指到'\0',在往后面添加,就会 造成溢出,从而出现段错误 while(*s2!='\0') *p++=*s2++; LINUX下,编译,运行都没问题,你可以试试
|