天国にいけるC言語入門 シーズン1 パソコン超初心者がゼロから東方風シューティングをつくる編 ver.0.4.15.789 RELIEF
☆変数を初期化しないと 変数の中にモンスター(よくわからない数値)が格納されていて、 どしぇー ってなります。
このエピソードあたりから統合開発環境Visual Studioと統合開発環境EAZY IDECの違いが明確にでてきます。
☆変数を初期化しないと 変数の中にモンスター(よくわからない数値)が格納されていて、 どしぇー ってなります。
☆変数を初期化しないと☆
☆ 変数の中にモンスター(よくわからない数値)が格納されていて、 ☆
☆ どしぇー ってなります。 ☆
ソーラー 「先程の変数をつかった練習問題のプログラムを
呼び出してみます。」
#include <stdio.h>
int main(void)
{
int a,b;
a=12;
b=20;
a=b;
printf("りんごは%d円です。\n",a);
return 0;
}
プログラムの実行結果(EAZY IDECの場合)
プログラムの実行結果(Visual Studioの場合)
りんごは20円です。
ソーラー「そう、
a=12;
b=20;
と
変数a,bを初期化していました
ここで つぎのような勘違いをしたとします。
このプログラムの命令文
printf("りんごは%d円です。\n",a);
は 変数bはかかわってこないように見えるので
b=20;
と 変数bの初期化をしなくていいんだ~~(´▽`*)(*´▽`*)
やったね😊、GO GO!と
b=20;
を行うのを
つまり
変数bを初期化するために数値20を
変数bに
代入するのをやめてみたとします。
そのプログラムは下記のようになります。」
#include <stdio.h>
int main(void)
{
int a,b;
a=12;
a=b;
printf("りんごは%d円です。\n",a);
return 0;
}
👆
みなさん じっくり このプログラムを ご覧ください
変数bには数値が格納されていないのに
変数bを変数aに代入しようとしています。
solarplexussより
ソーラー
「さあ このプログラムは正常に実行できるでしょうか?
楽しみですね・・・
みなさんはどうおもわれますか? うふふっ
では・・・このプログラムを・・・」
#include <stdio.h>
int main(void)
{
int a,b;
a=12;
a=b;
printf("りんごは%d円です。\n",a);
return 0;
}
ソーラー「
😊😊
それっ
こんぱいる!」
[ プログラムを実行します ]
という文字が画面にあらわれ
実行されていくプログラム・・・
ニーモ 「わわっプログラムが実行されてるー」
ソーラー 「おおっ」
以下 プログラムの実行結果です
プログラムの実行結果(EAZY IDECの場合)(ソーラーさんたちが独自に使っている統合開発環境です)
りんごは1638280円です。
続行するには何かキーを押してください_
プログラムの実行結果(Visual Studio2018の場合)
エラー C4700 初期化されていないローカル変数 'b' が使用されます Project6 c:\users\solarplexuss\source\repos\project6\project6\source.cpp 7
プログラムの実行結果(Visual Studio2019の場合)
警告 C6001 初期化されていないメモリ 'b' を使用しています。 Project2 C:\Users\solar\source\repos\Project2\Project2\program1.cpp 7
エラー C4700 初期化されていないローカル変数 'b' が使用されます Project2 C:\Users\solar\source\repos\Project2\Project2\program1.cpp 7
とエラー文が表示され
プログラムの実行はできません。
ソーラー 「おおっすごい、すごい、
これはすごい\(^^)/ーーーーー。
(EAZY IDECの場合の)
1638280円はどこからでてきたんだー\(^^)/?」
ニーモ 「何かの間違いかしら(^^)?」
無邪気に喜ぶソーラーを嬉しそうにみつめるニーモ。
ソーラー 「うん、そうだね。
もう一回このプログラムを実行してみよっか。」
以下 再びプログラムを実行したときの結果です
プログラムの実行結果(EAZY IDECの場合)
りんごは1638280円です。
続行するには何かキーを押してください_
プログラムの実行結果(Visual Studio2018の場合)
エラー C4700 初期化されていないローカル変数 'b' が使用されます Project6 c:\users\solarplexuss\source\repos\project6\project6\source.cpp 7
プログラムの実行結果(Visual Studio2019の場合)
警告 C6001 初期化されていないメモリ 'b' を使用しています。 Project2 C:\Users\solar\source\repos\Project2\Project2\program1.cpp 7
エラー C4700 初期化されていないローカル変数 'b' が使用されます Project2 C:\Users\solar\source\repos\Project2\Project2\program1.cpp 7
Visual Studioの場合は
エラー文が表示され
プログラムの実行はできません。
Visual Studioは親切設計なので
変数が初期化されていないと
プログラムを実行することができない仕様となっています。
ソーラー 「やっぱり何かの間違いじゃない。
時間がたってもプログラムの実行結果はかわらないね。すごいなー。」
ニーモ 「ふん、ふん、ほんと、
(EAZY IDECの場合)
b=20;
と変数bに数値を代入するのをやめる
(bという変数を初期化しない)と
すごくでたらめな結果になったね。」
ソーラー 「ほんとですね。
(EAZY IDECの場合)
りんごは1638280円です。
と
プログラムの実行結果が表示されるのは
#include <stdio.h>
int main(void)
{
int a,b;
a=12;
a=b;
printf("りんごは%d円です。\n",a);
return 0;
}
👆
このプログラムの中の命令文
a=b;
変数aに変数bの値を代入するところがあやしいね。
もともと変数bにはなにも数値を代入してなかったもんねー
printf("りんごは%d円です。\n",a);
の実行結果によくわからない数値がでてくるわけだ。」
ニーモ 「ねえ a=b;
つまり
変数aに変数bの値を代入して
りんごは1638280円です。
という結果がでたのなら、
変数bには1638280
が入っていたということかな?」
ふわっとニーモの体から光がきらめく。
ソーラー 「うーん、そうかも。
(詳しくは次のエピソードをご覧ください)
ここでわかったのは
int a,b;と変数宣言して
変数bを初期化しないと
変数bの中にはモンスター(よくわからない数値)がなかにはいってて、
どしぇーー
ってことになります。」
ニーモ
「またひとつ新しい発見をしたわね。」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます