我想返回+INF
,但我只返回“inf”:
int main(void)
{
double dubb = HUGE_VAL;
printf("%f \n", dubb);
}
我在这里忽略了什么吗?或者它只是编译器语义?
printf("%+F\n", dubb);
改为使用
'+' 使 printf 显示符号 'F' 使 inf/nan 大写
你没有告诉我们你有什么 C 库。我在 linux 上的手册页告诉我:
C99 标准为无穷大指定“[-]inf”或“[-]infinity”,在 f 转换的情况下为 NaN 指定以“nan”开头的字符串,以及“[-]INF”或“[ -]INFINITY" 或 "NAN*" 在 F 转换的情况下。
所以你观察到的似乎与 C99 标准同步。使用“%F”将其全部大写,因为+
只需将其放在前面。