我想返回+INF,但我只返回"inf":
int main(void)
{
double dubb = HUGE_VAL;
printf("%f \n", dubb);
}我是不是忽略了什么?或者这只是编译器的语义?
发布于 2013-01-21 16:25:01
请改用printf("%+F\n", dubb);
'+‘使printf显示符号'F’使inf/nan大写
发布于 2013-01-21 16:26:20
你没有告诉我们你有什么C库。我在linux上的手册页告诉我:
C99标准指定"-inf“或"-infinity”表示无穷大,以"nan“开头的字符串表示NaN,在F转换的情况下以"-INF”或"-INFINITY“或"NAN*”开头。
因此,您观察到的内容似乎与C99标准同步。使用"%F“让它全部大写,因为+只是把它放在前面。
https://stackoverflow.com/questions/14434686
复制相似问题