第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();
}
を実行すると?
がしばらく続いた後、
となり、途中でソフトは強制終了されます。
なぜでしょうか。
Visual C++で同様なプログラムを組むと、
が永遠に続き、プログラムは強制終了されません。
なぜなら、これは無限ループになっているからです。
ちょうど2枚の鏡を互い向きに平行におくと、
鏡の中に鏡が永遠に続くように、
今回のループも終わりなきループです。
こういう状態を無限ループと言います。
無限ループは、プログラミングの癌とも言うべき存在で、
うっかりするとこれに陥ります。
Eclipseの場合は、無限ループに陥ると強制的に終了させてくれるのですが、
他の統合開発環境では、
自動的に強制終了はしてくれませんので、
永遠に
が続くことになります。
プログラミングの宿痾である無限ループを回避して、
ぴったり
10回の表示で終了させるにはどうしたらよいでしょうか。
ヒント・・・
カウンタと呼ばれる数をカウントする変数を用意します。
グローバル変数を宣言するには、
main()の前で、
int c;
とすれば良いのです。
尚、グローバル変数の場合宣言と同時の初期化はできませんので、
main()の1行目に
c=0;
を入れておいて初期化をします。
第7話へ 第9話へ
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
VC++ C言語 C++ 入門 初心者 基礎から応用まで
本サイトトップへ