次のコードがあります。
double dtemp = (some value)
printf("\n***Hand washing: cost per kg/item: %.2f, cost: %.2f.\n", 5, dtemp);
次のように出力されます。
***手洗い: 1 kg/アイテムあたりの費用: 0.00、費用: 0.00.
そして、定数 5 を 5 を保持する double 変数に変更すると、(入力に従って) 次のように出力されます。
***手洗い: 1 キログラムあたりの費用: 5.00、費用: 20.00。
定数 5 が dtemp の評価に影響するのはなぜですか? 私は gcc 4.6.2 (MinGW) を使用しており、TCC でもテストしました。