将无穷大值分配给变量

时间:2019-01-21 11:43:01

标签: c autosar

嗨,我想为自动启动代码中的变量分配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,

1 个答案:

答案 0 :(得分:2)

在此reference中,INFINITY是一个宏,它扩展为float类型。

  

如果实现支持浮点无穷,则该宏   INFINITY扩展为float类型的常量表达式,其计算结果为   到正数或无符号无穷大。

因此,您的代码应进行如下修改

#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。