初級 › printfの%dにdouble型を渡すと無関係な値が表示される › パターン1
printfの%dにdouble型を渡すと無関係な値が表示される
%dは整数用の書式指定子です。
1 #include <stdio.h> 2 3 int main(void) { 4 double price = 19.99; 5 printf("%_\n", price); ^ 6 return 0; 7 }
出力: -1758341768期待: 19.990000
空欄を埋めてコンパイル・実行を通す
%dは4バイトの整数として引数を読み取りますが、double型は8バイトで浮動小数点用のレジスタに渡されるため、まったく無関係な値が表示されます。double型には%fを使います。
次の問題