为什么我得到 1.#QNB 当我没有 return 来自函数的值 returning double
Why am I getting 1.#QNB when I do not return a value from a function returning double
我正在用 C 编写一个菜单驱动程序。所以当我调用一个函数时
我正在尝试了解 return 的工作原理。所以
我写了一段类似
的代码
double function_name(parameters){
//some code here
if(condition here)
return (x);
else
return ;
}
int main( void ){
//some code here
double l = function_name(argument);
printf("returns: %.4lf\n", l);
return 0;
}
当代码进入 else 时打印
Output: returns: 1.#QNB
具体是什么意思?
QNaN(是一个安静的非数字)是一个带有小数部分集的 MSB 的 NaN。与 SNaN(信号 NaN)相反,QNaN 允许继续进行浮点运算而不引发 exception.In 这种情况,因为我没有找到太多关于它的信息,我猜是相似的。
当我从函数返回 NOTHING 并存储在一个 浮动类型数字 中时,它产生了一个 1.#QNB
我正在用 C 编写一个菜单驱动程序。所以当我调用一个函数时 我正在尝试了解 return 的工作原理。所以 我写了一段类似
的代码double function_name(parameters){
//some code here
if(condition here)
return (x);
else
return ;
}
int main( void ){
//some code here
double l = function_name(argument);
printf("returns: %.4lf\n", l);
return 0;
}
当代码进入 else 时打印
Output: returns: 1.#QNB
具体是什么意思?
QNaN(是一个安静的非数字)是一个带有小数部分集的 MSB 的 NaN。与 SNaN(信号 NaN)相反,QNaN 允许继续进行浮点运算而不引发 exception.In 这种情况,因为我没有找到太多关于它的信息,我猜是相似的。
当我从函数返回 NOTHING 并存储在一个 浮动类型数字 中时,它产生了一个 1.#QNB