第5講 関数の学習
第8話 プログラミングの癌

#include<iostream>
using namespace std;
void f();
void g();
void main(){
   f();
}
void f(){
   cout<<"gさんお仕事お願いします。"<<endl;
   g();
}
void g(){
   cout<<"fさんお仕事お願いします。"<<endl;
   f();
}
を実行すると?
b
がしばらく続いた後、
f
となり、途中でソフトは強制終了されます。
なぜでしょうか。
Visual C++で同様なプログラムを組むと、
b
が永遠に続き、プログラムは強制終了されません。
なぜなら、これは無限ループになっているからです。
ちょうど2枚の鏡を互い向きに平行におくと、
鏡の中に鏡が永遠に続くように、
今回のループも終わりなきループです。
こういう状態を無限ループと言います。
無限ループは、プログラミングの癌とも言うべき存在で、
うっかりするとこれに陥ります。
Eclipseの場合は、無限ループに陥ると強制的に終了させてくれるのですが、
他の統合開発環境では、
自動的に強制終了はしてくれませんので、
永遠にb
が続くことになります。

プログラミングの宿痾である無限ループを回避して、
ぴったりe
10回の表示で終了させるにはどうしたらよいでしょうか。

ヒント・・・
カウンタと呼ばれる数をカウントする変数を用意します。
グローバル変数を宣言するには、
main()の前で、
int c;
とすれば良いのです。
尚、グローバル変数の場合宣言と同時の初期化はできませんので、
main()の1行目に
   c=0;
を入れておいて初期化をします。


第7話へ 第9話へ

a

魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
VC++ C言語 C++ 入門 初心者 基礎から応用まで
本サイトトップへ