###C言語エラー究明
C言語で再帰的処理をするコードを書いてるのですが、実行するとエラーを吐かれてしまいます。問題は画像にて添付します。おそらく、関数のreturn のとこが違うと思うのですが、どうのように書き直せば良いかわかりません。わかる方いらっしゃいましたら、よろしくお願い致します。
エラーメッセージ warning: non-void function does not return a value in all control paths [-Wreturn-type] }
該当のソースコード
c
1#include <stdio.h> 2 3double f1(int n); 4double f2(int n); 5 6int main (){ 7 int m; 8 printf("Input m:"); 9 scanf("%d",&m); 10 printf("a%d=%lf\n",m,f1(m)); 11 printf("b%d=%lf\n",m,f2(m)); 12} 13 14double f1(int n){ 15 if(n==0){ 16 return 1; 17 }else{ 18 return (1.5*f1(n-1)-f2(n-1)); 19 } 20 21} 22 23double f2(int n){ 24 if(n == 0) 25 return 2; 26 if(n >= 2 && (n%2 == 0)){ 27 return (2.0*f2(n-1)); 28 }else if(n >= 1 && (n%2 == 1)){ 29 return (0.5*f2(n-1)+f1(n-1)); 30 } 31} 32 33
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/02 10:09