我正在调试一些C++代码,发现有一个double类型的变量似乎没有被赋值。它是通过以下代码声明的:
double x;
我之前没有太多使用C或C++的经验,不确定double类型是否有默认值?也就是说,如果上面的声明中从未给出特定的值,则x
会自动变成0还是null
?
代码中其他地方使用了x
进行计算,计算结果应该显示给用户——但目前并没有显示。计算公式如下:
y * asin(sin(x / y) * sin(a * b));
如果x
的默认值为0,那么这会导致编译或运行时出错吗?如果x
的默认值为0,那么计算一定会返回0,并显示给用户看到0。
double x;
的声明不会为 x 分配默认值(默认值到底是什么?),如果声明在函数范围内!你必须自己写double x = 0.0;
。 - Raxvan