std::cout输出inf的问题

81 阅读1分钟

今天在写代码时,发现程序在打印一个参数时,一直输出inf,并不是我想要的数据。

在查找过程中,发现是位于除数的某个参数由于没有初始化,所以值是0。

因此,出现此问题的主要原因就是除数为零。

测试代码如下:

#include <iostream>
int main() {
    double data = 1000/0;
    std::cout<<"data: "<<data<<std::endl;
    return 0;
}

其实编译时就已经有警告,不过正在开发的项目比较大,对这些警告输出基本都是忽略的。

不过好处是在运行时,自己的虚拟机报了浮点异常的错误,方便定位。

image.png