3

これは初めて見ました。私が見ているソースコードはCです

 if( rate < 0.){
   ...
 }
 else{
   ...
 }

次の場合はどうなりrate=0ますか?

4

3 に答える 3

16

0.型のリテラルdouble(および値ゼロ) です。対照的に、0は 型のリテラルですint

于 2013-08-20T20:41:31.773 に答える
6

整数 ( ) ではなく0.、倍精度 ( ) として解釈しています。 0.00

リンクを確認してください: of "working code"、さまざまなタイプのゼロ定数のさまざまなサイズを示しています。

于 2013-08-20T20:38:57.947 に答える
2

0.浮動定数であり、接尾辞がないためdoubleドラフト C99 標準セクション6.4.4.2 浮動定数から、次の文法があります。

浮動定数:
   10 進浮動定数
   16 進浮動定数
10 進浮動定数:
   分数定数 指数部オプション浮動接尾辞オプション
   数字列 指数部 浮動接尾辞オプション
[...]
分数定数:
    数字列のオプション。数字列
    数字列 .                                   < ---- これは 0 をカバーします。
[...]

次に、段落4に次のように記述します。

サフィックスのない浮動定数の型は double です。f または F の文字を接尾辞として付けると、float 型になります。文字 l または L を接尾辞として付けると、long double 型になります。

于 2013-08-21T01:16:52.350 に答える