ソースコードを分割してコンパイルする課題を行っています。そこでコンパイルしたファイルを実行しようとしてもセグメントエラーが表示されてしまいます。誤りを自分でも探してみたのですがどうしても見つかりません。よろしければ原因を教えてもらえないでしょうか。よろしくおねがいします。
###発生している問題・エラーメッセージ
”xの値を入力 >” までの処理しか行われない。
###該当のソースコード
C
mylib.h
double fctrl(int); double taylor(double,int);
ex2-2
#include<stdio.h> #include<math.h> #include"mylib.h" int main(void){ double x,err; int n; printf("xの値を入力 >"); scanf("%lf",&x); err=1; for(n=0;err>=0.005;n++){ err = fabs(exp(x)-taylor(x,n)); } printf("第%d項まで展開する必要がある\n",n); return 0; }
fctrl.c
double fctrl(int n){ if(n==0){ return 1; }else{ return n*fctrl(n-1); } }
taylor.c
#include<math.h> double taylor(double x, int n){ if(n==0){ return 1; }else{ return pow(x,n)/fctrl(n)+taylor(x,n-1); } }
###試したこと
ex2-2がどこまで処理されているのか確かめたところscanfのあたりから処理されていないところまでわかりました。
###補足情報(言語/FW/ツール等のバージョンなど)
コンパイルはgcc -o ex13 mylib.h ex2-2.c fctrl.c taylor.c -lm の形で行いました。
言語はC言語ですよね。C#になっているので、修正してもらえますか。
回答2件
あなたの回答
tips
プレビュー