c语言的动态分配内存可不是鸡肋阿!
----------------解决方案--------------------------------------------------------
回复 10# shengyi912 的帖子
谢谢了...... while循环条件是不是应该为*s!=0和*string!=0a啊...... ----------------解决方案--------------------------------------------------------
回复 11# mqh21364 的帖子
那在为变量分配内存空间时,是不是从空白的内存开始的呢...... ----------------解决方案--------------------------------------------------------
回复 7# sjzfmyxc 的帖子
是吗?strcpy(s2+strlen(s2),s1);
----------------解决方案--------------------------------------------------------
回复 13# sjzfmyxc 的帖子
为变量分配内存的时候当然是空白的了,但是你不能保证在其后面的n个空间都是空白的阿.而且,你那样写除了tc,别的编译器都不支持.
----------------解决方案--------------------------------------------------------
回复 14# StarWing83 的帖子
什么意思? ----------------解决方案--------------------------------------------------------
回复 15# mqh21364 的帖子
TC也不支持啊 ----------------解决方案--------------------------------------------------------
VC 下编译通过
#include <stdio.h>#include <stdlib.h>
#include <string.h>
void main()
{
char *s=(char *)malloc(30*sizeof(char));
char *h="dadadf";
char *d = "dadadada";
*s = 0;
printf("%s\n",s);
strcat(s,h);
printf("%s\n",s);
strcpy(s+strlen(s),d); // 法一:使用strcpy
printf("%s\n",s);
strcat(s,d); // 法二:使用strcat
printf("%s\n",s);
}
----------------解决方案--------------------------------------------------------