c - 将 Infinity 值分配给变量
问题描述
嗨,我想将 Infinity 值分配给我的自动启动代码中的变量,我将使用math.h
但它给出了 qac 警告标识符未声明
我已经包含math.h
了头文件,仍然 qac 给了我一个警告标识符尚未声明。有没有办法赋值?
# include <math.h>
int Calcula(x_val ,y_val)
{
if(x_val >y_val )
return INFINITY
}
// this code is not exact code ..
它应该返回 INFINITY ,
解决方案
从此参考资料中,INFINITY 是一个扩展为浮点类型的宏。
如果实现支持浮点无穷大,宏 INFINITY 将扩展为浮点类型的常量表达式,其计算结果为正或无符号无穷大。
因此,您的代码应修改如下
#include <stdio.h>
#include <math.h>
float Calcula(float x_val, float y_val)
{
if( x_val > y_val ) {return INFINITY; }
else { /* your else if you have one */ }
}
int main()
{
float a=4.0, b=2.0;
float ret;
ret = isinf(Calcula(a, b));
printf("Return value is %f", ret);
return 0;
}
这应该打印 1。