沈阳宇创科技有限公司:关于C语言编程的问题??

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 11:16:21
将两个字符串联接起来,不要用函数。
请给编写程序:

void mystrcpy(char *s1, char *s2)
{
while(*s1++);
s1--;
while(*s1++ = *s2++);
}

楼上的少了个 *c++=*a++之后少了个c--,而且最后c是移到字符串末尾了,printf的时候只会出来空字符。最后内存也无法释放了。

#include<malloc.h>
main()

{
int sizea=0;
int sizeb=0;
char x[]="fuck";
char y[]="you";
char* c;
char* a=x;
char* b=y;
char* z;
int size=0;
while(*a++!='\0') sizea++;a=x;
while(*b++!='\0') sizeb++;b=y;
c=(char *)malloc(sizeof(char)*(sizea+sizeb+1));
z=c;

while(size<sizea) {*c++=*a++;size++;}
size=0;
while(size<sizeb) {*c++=*b++;size++;}
*c='\0';
printf("%s",z);
}