[問題] NaN 問題
程式在執行的時候有時候, 某個數會出現 "NaN"的訊息, 但是出現這訊息時
表示這次的執行失敗了, 所以會想在程式中間加一個類似於 if else 的部份,
讓它中途發現就 goto 回去重跑, 但是當 某數為 NaN 時就不是一個數了,
要如何讓它判斷呢 ?
例如我試了一下:
假如 a 是 real, 但 a 最後的訊息是 NaN
於是我想: if (a>-1 .and. a<1) then
goto 100 (100 表示後面繼續執行的某行代號)
else
goto 10 (10 表示可以重新生成 a 的行代號)
end
想法是: 反正 a是 NaN, 那麼範圍一定不在 - 1到 1 之間, 所以
一定會 goto 10 重新得到 a. 測試結果是程式看不懂
, 當 a 出現 NaN 時, 不會 goto 100 和 goto 10, 直接
出現了錯誤訊息.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.225.32.101
→
04/25 20:54, , 1F
04/25 20:54, 1F
→
04/26 00:13, , 2F
04/26 00:13, 2F
討論串 (同標題文章)
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章