isnan函數是C++標準庫cmath中的一個函數,用于判斷一個浮點數是否為NaN(Not a Number)。isnan函數接受一個浮點數作為參數,如果該參數是NaN,則返回true,否則返回false。
使用isnan函數可以在程序中判斷浮點數是否為無效值,例如除以0或者對一個非數值進行數學運算時可能會得到NaN。通過isnan函數可以對這種情況進行檢測并處理。
以下是isnan函數的簡單示例:
#include <iostream>
#include <cmath>
int main() {
double a = 0.0 / 0.0; // NaN
double b = 1.0 / 0.0; // Infinity
if (std::isnan(a)) {
std::cout << "a is NaN" << std::endl;
} else {
std::cout << "a is not NaN" << std::endl;
}
if (std::isnan(b)) {
std::cout << "b is NaN" << std::endl;
} else {
std::cout << "b is not NaN" << std::endl;
}
return 0;
}
在上面的示例中,我們使用isnan函數判斷變量a和b是否為NaN,并打印相應的消息。在這種情況下,變量a是NaN,而變量b不是NaN。