課題として温度変換プログラムを作成しました。プログラムには、温度を出力する多くのprintf
ステートメントが含まれています。これで、負の温度は希望どおりに印刷されますが、正の温度は先頭の+
記号なしで印刷されます。
ここで、正の数の先頭の+
signをprintf
で出力するための最良の方法は何ですか。私が考えることができるのは変えることだけです
printf("Min temp = %d\n",max_temp)
に
if(max_temp > 0)
printf("+");
printf("Min temp = %d\n",max_temp)
しかし、それはプログラムの多くの変更を必要とします:(
別のオプションは、独自の印刷関数を作成し、このロジックをそこに配置することです。何を指示してるんですか ?
printf の+
フラグを使用して、先頭に+
記号が付いた正の数を出力できます。なので:
printf("%+d %+d",10,-10); // prints +10 -10
+フラグを追加します。これが例です。
int n;
printf("%+d", n);
(nがintであると仮定します-他の数値タイプの%dを置き換えるだけです)