printf()中%f和%F之间的差异?

HCS*_*CSF 1 c c++

我注意到printf()有说明符%F%f.

有什么区别?上面的链接说明%F将给出"十进制浮点,大写".

我看不出大写的浮点是什么.

谢谢!

Sru*_*i V 7

根据维基百科:

f和F仅在打印无限数或NaN的字符串方面有所不同(f为inf,infinity和nan; F为INF,INFINITY和NAN)

示例:

double result = 1.0/0.0;
printf("%f\n%F\n",result,result);
//inf
//INF
Run Code Online (Sandbox Code Playgroud)


Eri*_*hil 6

根据C 2018标准,第7.21.6.1条第8款:

F转换说明符分别产生INF,INFINITY或NAN而不是inf,infinity或nan.