自分で定義した関数を2重に利用することは出来ますか?
たとえば次のようなことは可能でしょうか?
void sum_a(void);
void sum_b(void);
main()
{
sum_b();
}
void sum_a(void)
{
//sum_aの処理//
}
void sum_b(void)
{
sum_a();
//引き続きsum_bの処理//
}
よろしくお願いします。
関数について(初心者)
Re:関数について(初心者)
自分の関数の中で自分の関数を呼ぶ・・なんて事も出来ます。
これは再帰関数として用いられます。
しかし使用方法が若干難しいので、クイックソートや組み合わせの計算なんかの勉強をするまで使わないかもしれませんが、こういうことも出来るって事でしっておくと、突然再帰関数を見たときのハードルが低くなるかもしれません。
出来るかな?と思ったら色々自分でコンパイルしてみるといいですよ。
とりあえず、エラーが出てなかったら大丈夫!って感じで怖いもの知らずでドンドン書いていってみてください!
これは再帰関数として用いられます。
しかし使用方法が若干難しいので、クイックソートや組み合わせの計算なんかの勉強をするまで使わないかもしれませんが、こういうことも出来るって事でしっておくと、突然再帰関数を見たときのハードルが低くなるかもしれません。
出来るかな?と思ったら色々自分でコンパイルしてみるといいですよ。
とりあえず、エラーが出てなかったら大丈夫!って感じで怖いもの知らずでドンドン書いていってみてください!
Re:関数について(初心者)
再帰関数はこんなのですね。
フィナボッチ数列を返します。
フィナボッチ数列を返します。
#include<stdio.h> int f(int num) { if(num <=2) return 1; return f(num-1)+ f(num-2); } int main(void) { int out,i; for(i=1;i<10;i++){ out = f(i); printf("%d\n",out); } return 0; }