使用C ++在visual studio上编写一个小型控制台程序
我得到的值如-nan(ind), - inf,inf 我怎么能发现它们? 我搜索了一会儿,看到了isinf,isnan
以这种格式使用它们
if(isinf(myvariable))
//no solution
else
//print solution
但它似乎不起作用。每次都有相同的结果。
如果它的inf我得到0结果。 如果它不是inf我得到0结果。
也许我使用了错误的语法?
答案 0 :(得分:-1)
我尝试了以下代码:
#include <cmath>
#include <iostream>
using namespace std;
int main(){
cout << isinf(0.0) << endl;
cout << isinf(1.0/0.0) << endl;
float f = 0.0;
cout << isinf(f) << endl;
f = 1.0/0.0;
cout << isinf(f) << endl;
int i = 0.0;
cout << isinf(i) << endl;
i = 1.0/0.0;
cout << isinf(i) << endl;
}
它返回了
0
1
0
1
0
0
因此对于浮点运行正常,因为它没有(当然)。 请检查变量的类型。语法是正确的。
答案 1 :(得分:-1)
由于您使用year[i]
标记了问题并且未使用C++
对其进行了标记,我建议使用std::isnan()和std::isinf()