ポインターに問題があります。これはうまくいっています -
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;
}
次に、「ab」の代わりに「aa」を出力します。おそらくかなりばかげた質問だと思いますが、何が起こっているのか、その問題を解決する方法はわかりません。