首页 > 解决方案 > 将 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 ,

标签: cautosar

解决方案


从此参考资料中,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。


推荐阅读