将值复制到 char 指针时遇到此问题。如果我写
char* data = "abcdef";
char* d;
d[0] = data[0];
d[1] = data[1];
d[2] = data[2];
d[3] = data[3];
printf("%s ", d);
输出是abcd
,但是如果用基本上等效的 this for 循环替换最后一个块,它不会打印任何内容
for(int i = 0; i < 4; i++) {
d[i] = data[i];
}
谁能解释一下有什么区别?