當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


C語言 feclearexcept用法及代碼示例

C語言fenv頭文件(fenv.h)中feclearexcept函數的用法及代碼示例。

用法:

int feclearexcept (int excepts);
清除浮點異常
嘗試清除由指定的浮點異常excepts

調用此函數的程序應確保編譯指示FENV_ACCESS已啟用該調用。

參數

excepts
位掩碼值:任意數量的組合(按位或)浮點異常實現支持的值:
宏值描述
FE_DIVBYZERO極點錯誤:除以零或其他一些漸近無限結果(來自有限參數)。
FE_INEXACT不精確:結果不準確。
FE_INVALID域錯誤:參數中的至少一個是未為其定義函數的值。
FE_OVERFLOW溢出範圍錯誤:結果的大小太大,無法表示為返回類型的值。
FE_UNDERFLOW下溢範圍錯誤:結果的大小太小而無法表示為返回類型的值。
FE_ALL_EXCEPT所有異常(選擇實現支持的所有異常)。
某些庫實現可能支持其他浮點異常值(其對應的宏也以FE_)。

返回值

零,如果所有異常都在excepts已成功清除(或者excepts是零)。
否則為非零值。

示例

/* feclearexcept, fetestexcept example */
#include <stdio.h>      /* printf */
#include <math.h>       /* sqrt */
#include <fenv.h>       /* feclearexcept, fetestexcept, FE_ALL_EXCEPT, FE_INVALID */
#pragma STDC FENV_ACCESS on

int main ()
{
  feclearexcept (FE_ALL_EXCEPT);
  sqrt(-1);
  if (fetestexcept(FE_INVALID)) printf ("sqrt(-1) raises FE_INVALID\n");
  return 0;
}


可能的輸出:

sqrt(-1) raises FE_INVALID



相關用法


注:本文由純淨天空篩選整理自C標準庫大神的英文原創作品 C feclearexcept function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。