第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);
}
さて、関数の再帰的呼び出しとは何か、理解していただけたと思います。
では、この再帰的呼び出しを使って1から3まで加えていってその結果を出すプログラムを考えてみましょう。
かなり、難問ですよ。
ある程度考えてわからないときは、次話を読んでください。
第1話へ 第3話へ
C言語 C++講義第1部へ
VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)