第14講 関数の再帰的呼び出し
第2話 無限ループの解消策
#include<iostream>
using namespace std;
int cn;
void f();
int main(){
   cn=0;
   f();
}
void f(){
   cout<<"関数の再帰的呼び出し"<<endl;
   cn++;
   if(cn<10)f();
}
実行結果
入門

そうです。ひとつの解決策は、グローバル変数を使うことです。
でも、なるべくグローバル変数は利用しない方がよいの原則に従い、
ローカル変数で無限ループを解消するには?
解答例は30行下。


























解答例
#include<iostream>
using namespace std;
void f(int cn);
int main(){
   int cn;
   cn=0;
   f(cn);
}
void f(int cn){
   cout<<"関数の再帰的呼び出し"<<endl;
   cn++;
   if(cn<10)f(cn);
}
C++

さて、関数の再帰的呼び出しとは何か、理解していただけたと思います。

では、この再帰的呼び出しを使って1から3まで加えていってその結果を出すプログラムを考えてみましょう。
かなり、難問ですよ。
ある程度考えてわからないときは、次話を読んでください。





第1話へ 第3話へ

戻る

C言語 C++講義第1部へ
VB講義へ
VB講義基礎へ

vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)