質問: C言語数値計算 ニュートン法です。 下記のプログラミングで、何故#includeが必要なのかよく分かりません。先ほどの質問で、関数のマクロ定義は良くないと伺いましたが、今回はマクロ定義でのせさせていただきます。よろしくお願いします。 #include #include #include #define F(x) exp(x)-3.*x #define FD(x) exp(x)-3. #define EPS 1.E-5 void main(void) { double x=0.0,fx,fdx,fx; int n=0; do{ fx=F(x); fdx=FD(x); dx=-fx/fdx; n++; x+=dx; } while(fabs(dx/x)>EPS); printf("x=%7.3f\n",x); }
回答: こんにちは。 そのプログラムでしたら、stdlib.hは不要な筈です。 しかし、古いCコンパイラではC規格に準拠していないケースも多く、インクルードするヘッダが異なることがあります。 試しに`#include `をコメントアウトしてみてエラーがでたら、そのエラーを回避するために必要ということになります。