scanf関数をつかって変数aに数値を格納するとき変数aは初期化されていても数値を受け取ることができます


ソーラー「今日はちょっと遊んでみようかな🌞


scanf関数をつかって数値データを


コンピュータのメモリに格納


コマンドプロンプト画面に表示するには


#pragma warning(disable: 4996)

#include <stdio.h>


int main(void){

int a;

printf("何か数値を入力してください。\n");

scanf ("%d",&a);

printf("入力した数値は%dです。\n",a);

return 0;

}


プログラムの実行結果


何か数値を入力してください。

0(と入力すると)

入力した数値は0です。(と表示されます)


👆このようにソースコードを記述していました


aのint型の変数宣言 int a;を行い作製された


int型の変数aに


scanf関数をつかって入力された数値を格納しています。


通常


Visual Studioでは変数が初期化されていない場合は


プログラムを実行することはできません


この場合では


変数aにscanf関数をつかって数値を格納するため


変数aの初期化は必要ない


初期化をしなくても大丈夫というわけなんだね。」


アレサ「はいっ そうなんですの ソーラーさん」


ソーラー「ここで


あらかじめ


変数aに数値1を代入し初期化した


次のプログラムでは

👇

#pragma warning(disable: 4996)

#include <stdio.h>


int main(void){

int a=1;/*👈変数aを初期化しました*/

printf("何か数値を入力してください。\n");

scanf ("%d",&a);

printf("入力した数値は%dです。\n",a);

return 0;

}

👆


scanf関数は数値を受け取ることができるかな~😊」



アレサ


「もう変数aには数値1が格納されているというわけですの」


ソーラー「それでは😊~


 コンパイルっ」


プログラムの実行結果


何か数値を入力してください。

0(と入力すると)

入力した数値は0です。


ソーラー「普通にint a=1;と初期化していても


scanf関数をつかって


変数aに数値0を受け取ることができています。


これは実は普通のことかな?


同じようなこと


つまり


変数aに数値1が格納された状態で


変数aに数値0を代入することは


いままで たくさんおこなってきたからね。


例えば次のプログラムのように

👇


#include <stdio.h>


int main(void){

int a=1;/*変数aを初期化しましta*/

printf("何か数値を入力してください。\n");

a=0;

printf("入力した数値は%dです。\n",a);

return 0;

}


プログラムの実行結果


何か数値を入力してください。

入力した数値は0です。

👆


変数aに数値1が格納された状態で


変数aに数値0を代入することは


普通にできるからね。」


アレサ「それに 


そもそも変数aが初期化されていない


int a;


が実行されただけの状態では


次のプログラムをみてもおわかりになられますように

👇


#pragma warning(disable: 4996)

#include <stdio.h>


int main(void){

int a;/*変数aを初期化しましta*/

printf("何か数値を入力してください。\n");

printf("入力した数値は%dです。\n",a);

return 0;

}


プログラムの実行結果

(統合開発環境EAZY IDECを使用した場合)

何か数値を入力してください。

入力した数値は4198543です。


(Visual Studioでは変数が初期化されていないとビルドエラーとなり


このプログラムを実行できません)

👆


変数aには


数値4198543が格納されていますから


scanf関数を使って数値0を受け取るときに


なにも代入されていない変数aに数値0を受け取っているのではなく


変数aに数値4198543が格納されている状態から


数値0をうけとっていることになるのですね。」


😊  😊


ちょろっと解説のコーナーです


変数aを初期化していなくても


変数には


数値データが格納されているのですね


  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る