char p[] = "ABCD"; と宣言したら正常に動作した(ADCD)のですが、

なんでですか?