1

戻りたいの+INFですが、代わりに「inf」のみを返します。

int main(void)
{
    double dubb = HUGE_VAL;
    printf("%f \n", dubb);
}

私はここで何かを見落としていますか?それとも、コンパイラのセマンティクスだけですか?

4

2 に答える 2

3

printf("%+F\n", dubb);代わりに使用してください

「+」はprintfに記号を表示させます「F」はinf/nanを大文字にします

于 2013-01-21T08:25:01.433 に答える
1

あなたはあなたが持っているCライブラリを教えてくれませんでした。Linuxのmanページには次のように書かれています。

C99標準では、無限大の場合は「[-]inf」または「[-]infinity」、f変換の場合はNaNの場合は「nan」で始まる文字列、および「[-]INF」または「[ -]F変換の場合は「INFINITY」または「NAN*」。

したがって、観察した内容はC99標準と同期しているようです。「%F」を使用して、すべて大文字にし+ます。前に置くだけです。

于 2013-01-21T08:26:20.373 に答える