类型为double的已声明变量将自动初始化为inf

时间:2018-08-02 12:35:49

标签: c gcc

我正在用gcc运行我的代码。我有一个函数,其中声明了一个变量X1,该变量已初始化为'inf'。

function(double nu, void *params) {
struct func_params *part= (struct func_params *)params;
double result;
*commands*
if (condition){
        double wb,X1;
        printf("inside if X1 %e \n",X1);
    }
return result;

此代码返回“如果X1 inf,则返回内部”。我从来没有遇到过这个问题,也没有对代码进行任何更改……知道这可能是什么吗?

1 个答案:

答案 0 :(得分:1)

这是未定义的行为,您的单位化变量可以具有任何值,包括inf和NaN。

使用它时,您会调用未定义行为