再帰関数 int fib(int n)を定義し,再帰呼出しによりfib(n)の値を求める。
こちらも,n=30までのフィボナッチ数を求めて表示せよ。
で下のようにつくりました。コンパイルはできましたが
実行すると
第何項までのフィボナッチ数? n=30
Segmentation fault (core dumped)
のようにでてきてmもとめられません。
やはりf0=0とf1=1を定義しないとできないのでしょうか?
教えてください
#include <stdio.h> int fib(int); main() { int n, i ,f; printf("第何項までのフィボナッチ数? n="); scanf("%d",&n); for(i=2; i<=n; i++) { f=fib(n); printf("F%d = %d\n",n, fib); } } fib(int n) { int f; f=fib(n-1)+fib(n-2); }