main(){
printf("%d %d",1234.5);
}
出力:0 1083394560
これは、float変数がdoubleとして扱われ、最初%d
に0が表示され、残りの4バイトの値(1083394560)が表示されるデフォルトの引数プロモーションの場合です。
私の質問は、%d
最初の4バイトを読み取る場合、このプログラムはどのように実行されるかです。
main()
{
printf("%f",1234.5);
}
正しい出力を提供します。floatも4バイトであるため、のように動作する必要があります%d
。