if文ネスト(入れ子)多重構造をつくってみようっ その2
マックス 「if文の中にif文か・・・
よし、いろいろ改造してみるか・・にゃははっ\(^^)/」
ソーラー「おもしろいことかんがえちゃったんだ~~~
if(1){ }
この命令文の中に
if(1){ }を もうひとつかきこんでみると
if(1){ if(1){ } }とな~~~る。
まず 一番左のif(1)により それにつづく
{ }内の命令文
if(1){ } が実行されることになります。
そして次に
if(1)によりif(1){ } 内の
命令文が実行される。
というわけです。
どんどんif(1){ } をif(1){ } の{ }の中にかきこんでいくと
if(1){ if(1){ if(1){ } } }
👆
if(1)文 3重ネスト構造
if(1){ if(1){ if(1){ if(1){ } } } }
👆
if(1)文 4重ネスト構造
if(1){ if(1){ if(1){ if(1){ if(1){ } } } } }
👆
if(1)文 5重ネスト構造
if(1){ if(1){ if(1){ if(1){ if(1){ if(1){ } } } } } }
👆
if(1)文 6重ネスト構造
if(1){ if(1){ if(1){ if(1){ if(1){ if(1){if(1){ } } } } } } }
👆
if(1)文 7重ネスト構造
if(1){ if(1){ if(1){ if(1){ if(1){ if(1){if(1){if(1){ } } } } } } } }
👆
if(1)文 8重ネスト構造
この8重ネスト構造で 真ん中のif(1){ } に
cout<<"お花見にいこう!\n";
を代入してえ~~~
if(1){ if(1){ if(1){ if(1){ if(1){ if(1){if(1){if(1){cout<<"お花見にいこう!\n"; } } } } } } } }
としたものぉお
アーティスティックにプログラムに仕上げると
👇
#include <iostream>
using namespace std;
int main() {
if(1){
if(1){
if(1){
if(1){
if(1){
if(1){
if(1){
if(1){
cout<<"お花見にいこう!\n";
}
}
}
}
}
}
}
}
return 0;
}
👆
となります」
☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆
Visual Studioに上記のプログラムをコピペして貼り付けると
綺麗にインデント(字下げ)されます。
Visual Studioはすごいですね。
solarplexussより
☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆
マックス 「
{
{
{
{
{
{
{
{
や
}
}
}
}
}
}
}
}
のような括弧がたくさんでてくる表現はときどき
なにかのプログラムで
みかけるやつじゃないか・・・」
ソーラー 「このプログラムを
実行すると
お花見にいこう!
と表示されるんです。」
「みゃおおお~~ん!」
マックス
「何の声だ?
if(1){ if(1){ if(1){ if(1){ if(1){ if(1){if(1){if(1){cout<<"お花見にいこう!\n"; } } } } } } } }
において
if(1)はif(1){ }内の命令文を実行することから
if(1){ if(1){ if(1){ if(1){ if(1){ if(1){if(1){if(1){cout<<"お花見にいこう!\n"; } } } } } } } }
は
if(1){ if(1){ if(1){ if(1){ if(1){ if(1){ if(1){ cout<<"お花見にいこう!\n"; } } } } } } }
に等しくなり
if(1){ if(1){ if(1){ if(1){ if(1){ if(1){ if(1){ cout<<"お花見にいこう!\n"; } } } } } } }
は
if(1){ if(1){ if(1){ if(1){ if(1){ if(1){cout<<"お花見にいこう!\n"; } } } } } }
に等しくなり
if(1)はif(1){ }内の命令文を実行することから
if(1){ if(1){ if(1){ if(1){ if(1){ if(1){cout<<"お花見にいこう!\n";} } } } } }
は
if(1){ if(1){ if(1){ if(1){ if(1){cout<<"お花見にいこう!\n";} } } } }
に等しくなり
if(1)はif(1){ }内の命令文を実行することから
if(1){ if(1){ if(1){ if(1){ if(1){cout<<"お花見にいこう!\n";} } } } }
は
if(1){ if(1){ if(1){ if(1){ cout<<"お花見にいこう!\n";} } } }
に等しくなり
if(1)はif(1){ }内の命令文を実行することから
if(1){ if(1){ if(1){ if(1){ cout<<"お花見にいこう!\n";} } } }
は
if(1){ if(1){ if(1){ cout<<"お花見にいこう!\n";} } }
に等しくなり
if(1)はif(1){ }内の命令文を実行することから
if(1){ if(1){ if(1){cout<<"お花見にいこう!\n";} } }
は
if(1){ if(1){cout<<"お花見にいこう!\n"; } }
に等しくなり
if(1)はif(1){ }内の命令文を実行することから
if(1){ if(1){cout<<"お花見にいこう!\n"; } }
は
if(1){ cout<<"お花見にいこう!\n"; }
に等しくなり
if(1)はif(1){ }内の命令文を実行することから
if(1){ cout<<"お花見にいこう!\n"; }
は
cout<<"お花見にいこう!\n";
に等しくなり
結局
cout<<"お花見にいこう!\n";
が実行されるわけか・・・」
🐈「にゃああ
ぱくぱくぱくぅ・・・」
ソーラー 「ああっ僕のプログラム、そんなにおいしいのかい
ぴく、ぴくっ」
マックス 「if(1)がたべられていってるぞ」
てんC 「おにゃんこさん・・・・・
#include <iostream>
using namespace std;
int main() {
cout<<"お花見にいこう!\n";
return 0;
}
・・・かんたんなプログラムになっちゃいました。」
マックス 「if(1)・・・うまいのか」
アレサ「コンパイル結果は先ほどのプログラムと同じ
お花見にいこう!です。
そうですね。マックスさんの言ったように
if(1){}は{}内の命令文を実行するという
システムなので
さきほどのプログラム内の命令文
if(1){if(1){ if(1){ if(1){ if(1){ if(1){ if(1){ if(1){ cout<<"お花見にいこう!\n"; } } } } } } } }
の場合
コンピュータ内で
次のように つぎつぎと
if(1){ if(1){ if(1){ if(1){ if(1){ if(1){ if(1){ cout<<"お花見にいこう!\n"; } } } } } } }
if(1){ if(1){ if(1){ if(1){ if(1){ if(1){cout<<"お花見にいこう!\n";} } } } } }
if(1){ if(1){ if(1){ if(1){ if(1){ cout<<"お花見にいこう!\n";} } } } }
if(1){ if(1){ if(1){ if(1){cout<<"お花見にいこう!\n"; } } } }
if(1){ if(1){ if(1){ cout<<"お花見にいこう!\n";} } }
if(1){ if(1){cout<<"お花見にいこう!\n"; } }
if(1){cout<<"お花見にいこう!\n";}
cout<<"お花見にいこう!\n";
プログラムが実行されていきます。
これをみると
最終的に
cout<<"お花見にいこう!\n";
が実行されています
ですので
#include <iostream>
using namespace std;
int main() {
if(1){
if(1){
if(1){
if(1){
if(1){
if(1){
if(1){
if(1){
cout<<"お花見にいこう!\n";
}
}
}
}
}
}
}
}
return 0;
}
とプログラム
#include <iostream>
using namespace std;
int main() {
cout<<"お花見にいこう!\n";
return 0;
}
は等しいことがわかります。
つまり if(1)を食べられても
おんなじだったのです。」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます