3
非constへのポインターと同じアドレスのconst引数へのポインターを使用した関数呼び出し
データの配列を入力し、ポインターを使用して別のデータの配列を出力する関数を書きたいのですが。 コンパイラがconstを最適化できることを知っているので、両方が同じアドレスsrcをdst指している場合、結果はどうなのかと思います。未定義の動作ですか?(CとC ++の両方にタグを付けました。これは、答えが異なるかどうかわからないためです。両方について知りたいのです。) void f(const char *src, char *dst) { dst[2] = src[0]; dst[1] = src[1]; dst[0] = src[2]; } int main() { char s[] = "123"; f(s,s); printf("%s\n", s); return 0; } 上記の質問に加えてconst、元のコードでを削除すると、これは明確になりますか?