在C语言中,%f和%F有什么区别?

4


我开始学习C语言,却遇到了一个问题。
在关于控制台输出的章节中描述了转换说明符,其中两个是%f和%F。我试图弄清它们之间的区别,并编写了下面简单的C语言脚本:

#include <stdio.h>
int main(void)
{
    float num = 123.456;
    printf("First float: %f \n", num);
    printf("Second float: %F \n", num);
    return 0;
}

输出结果为:

First float: 123.456001
Second float: 123.456001
1个回答

4
从C标准(7.21.6.1 fprintf函数)中:
双精度浮点数类型的无限大值可以以样式[-]inf或[-]infinity的形式表示,具体样式由实现定义。双精度浮点数类型的NaN可以以样式[-]nan或[-]nan(n-char-sequence)的形式表示,其中样式和任何n-char-sequence的含义都由实现定义。使用F转换说明符,可以将双精度浮点数类型的INF、INFINITY或NAN分别替换为inf、infinity或nan。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接