0

こんにちは、自動起動コードの変数に 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 を返す必要があります。

4

1 に答える 1

2

この参照から、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 を出力するはずです。

于 2019-01-21T11:54:56.543 に答える