我有一些问题,复制一个指针到另一个内容。我无法将* s
的内容复制到* a
。如果我删除* a
的凹凸,它仅复制s
中的最后一个字符。也不允许使用任何字符串库函数或任何数组符号。对不起,如果格式不好,这是我的第一篇文章。预先感谢您的帮助。复制字符指针进入下再字符指针没有的strcpy
char* copy(char *s)
{
char *a = (char *) malloc(sizeof(char)*length(s));
if (s == NULL)
{
printf("ERROR: OUT OF MEMORY\n");
return 0;
}
while(*s != '\0')
{
*a = *s;
s++;
a++;
}
*a = '\0';
return a;
}
不要投的它返回malloc的值什么也没加。 'char * a = malloc(sizeof(char)* length(s));'很好。另外,你的测试应该是'if(a == NULL)'(不是's') – Tibrogargan
'length'是什么? –
@ M.M,可能只是他自己的'strlen'函数。 – RoadRunner