我的指针有问题。这工作正常 -
int main(void){
char *w;
w = calloc(20, sizeof(char));
w = "ab";
printf("%c",*w);
w = w + sizeof(char);
printf("%c",*w);
return 0;
}
但如果我使用如下功能:
void por(char *t){
t = t + sizeof(char);
}
和
int main(void){
char *w;
w = calloc(20, sizeof(char));
w = "ab";
printf("%c",*w);
por(w);
printf("%c",*w);
return 0;
}
然后它打印“aa”而不是“ab”。我知道它可能很愚蠢的问题,但我不知道发生了什么以及如何解决这个问题。