>>27
> char *p = 'A';
> char *p = "A";

Cではcharはintと等価だから、上のは代入の時点で普通Warning吐かれるよ。
まあ、そういうことを言いたいんじゃないと思うけど。

とりあえず'A'は値を代入、"A"はアドレスを代入することになるから。
char *p = 'A'は多分、コンパイル通ってもAccess Viorationで落ちるね。
このプログラム、なんか少し前のVCLの某文字列クラスのバグを皮肉ってるようでなんかムカつく。

>>32
C、というかprintfはfloat型を出力できません。
すべてdouble型に暗黙の型変換されます。