我正在尝试从字符数组复制到字符指针。
我的代码:
char str[] = "Hello World";
char *result = (char *)malloc(strlen(str)+1);
int index=0;
while(index <= strlen(str))
{
*result = str[index];
result++;
index++;
}
这段代码不起作用,下面的代码可以正常运行。
char str[] = "Hello World";
char *result = (char *)malloc(strlen(str)+1);
int index=0;
while(index <= strlen(str))
{
result[index] = str[index];
index++;
}
有人能解释一下这种行为吗?
result
,那么就能解决这个问题。 - Some programmer dudeindex <= strlen(str)
- '小于等于' 而不是 '小于'. - CiaPanstrlen
是低效的。毕竟它不会改变。 - MSaltersstrcpy(result,str)
。 - user3386109result
所指向的那个吗?但是result
变量在循环之前已经不再是原来的样子了!你在循环内多次对它进行了递增,所以现在它指向了复制字符串的末尾... - CiaPan