[NDEBUGマクロとassert( )]←このソース→[悪質なバグの例] /* エラーを示すグローバル変数 */ /* errno はエラーを示すグローバル変数です。プログラム起動時に、0に初期化されます。標準ライブラリ関数のあるものは、エラーを検出すると、エラーの種類に応じて、error.h に定義されているエラー番号をerrno にセットします。 エラーを検出するには、既に呼ばれた他の関数によって、エラー番号がセットされている可能性があるので、関数を呼び出す直前に errno を0に再初期化して置き、関数を呼び出した直後に errno の値を調べます。 今回は、平方根を返すライブラリ関数を例にして、エラーの検出について学びます。平方根を返すライブラリ関数を下記に示します。 #include <math.h> double sqrt(double x); 例:y = sqrt(x);