回答編集履歴
2
プロトタイプで明示した場合には起きないので
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
`scanf`で値を読み取る場合、書式は`%f`ではなく`%lf`が正しいです。逆に、`printf`で出力する場合には`%f`が正解となります。
|
2
2
|
|
3
|
-
これは、関数の引数にした場合に`float`は自動で`double`へと変換されるのに対して、ポインタについてはそのまま渡るがゆえの現象です。
|
3
|
+
これは、可変長関数の引数にした場合に`float`は自動で`double`へと変換されるのに対して(既定の実引数拡張)、ポインタについてはそのまま渡るがゆえの現象です。
|
4
4
|
|
5
5
|
[本日少し前にも同じ所で引っかかった例があった](https://teratail.com/questions/24155)ように、[うっかりしがち](http://www.kijineko.co.jp/tech/superstitions/printf-format-for-double.html)なところではあります。
|
1
類例
answer
CHANGED
@@ -1,3 +1,5 @@
|
|
1
1
|
`scanf`で値を読み取る場合、書式は`%f`ではなく`%lf`が正しいです。逆に、`printf`で出力する場合には`%f`が正解となります。
|
2
2
|
|
3
|
-
これは、関数の引数にした場合に`float`は自動で`double`へと変換されるのに対して、ポインタについてはそのまま渡るがゆえの現象です。
|
3
|
+
これは、関数の引数にした場合に`float`は自動で`double`へと変換されるのに対して、ポインタについてはそのまま渡るがゆえの現象です。
|
4
|
+
|
5
|
+
[本日少し前にも同じ所で引っかかった例があった](https://teratail.com/questions/24155)ように、[うっかりしがち](http://www.kijineko.co.jp/tech/superstitions/printf-format-for-double.html)なところではあります。
|