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