天国にいけるC言語入門 ヘキサ構造体 ver2.2126
scanf関数をつかって変数aに数値7を格納してみます ただしこのプログラムでは5つのaの変数宣言が行われています 一体どの変数aに数値7は格納されるのでしょうか?
それでは変数のスコープをよりよく理解できる次のおもしろ問題にチャレンジしてみましょう。
scanf関数をつかって変数aに数値7を格納してみます ただしこのプログラムでは5つのaの変数宣言が行われています 一体どの変数aに数値7は格納されるのでしょうか?
solarplexuss
「今日は わたくし solarplexussが
変数宣言された変数の使用可能範囲(スコープ)
がどうなっているか?
変数のスコープ問題にチャレンジしてみま~す。
ドキドキします。
ピロリロリ~ン
変数のスコープ問題の登場です
🐣変数のスコープ問題🐤
scanf関数を使って数値7をint型の変数aに格納してみます
ただし、このプログラムではaのint型の変数宣言が5つ行われています
どのint型の変数aに数値7は格納されるでしょうか?
#pragma warning(disable: 4996)
#include <stdio.h>
int a=100;
void f(int a){
printf("%dをとりこみました。\n",a);
}
int main(void){
printf("入力した数値は%dです。\n",a);
int a=1000;
int b;
int c;
printf("何か数値を入力してください。\n");
scanf ("%d",&a);
f(a);
printf("入力した数値は%dです。\n",a);
for(b=0;b<2;b++){
int a=10000;
for(c=0;c<2;c++){
int a=100000;
printf("入力した数値は%dです。\n",a);
}
printf("入力した数値は%dです。\n",a);
}
printf("入力した数値は%dです。\n",a);
return 0;
}
プログラムの実行結果
入力した数値は100です
何か数値を入力してください。
7(と入力すると)
7を取りこみました
入力した数値は7です
入力した数値は100000です
入力した数値は100000です
入力した数値は10000です
入力した数値は100000です
入力した数値は100000です
入力した数値は10000です
入力した数値は7です
さあ どうしてこのような
プログラムの実行結果になったのでしょうか?
solarplexuss
「?????
はあ?
なにこれ???
aのint型の変数宣言が5つ?
aのint型の変数宣言は
int a=100;
int a=1000;
int a=10000;
int a=100000;
の4つしかない?
と思ったら
自作関数
void f(int a){
printf("%dをとりこみました。\n",a);
}
の中で
変数宣言 int a;
がおこなわれているから
全部で
aのint型の変数宣言が5つあるってことになるのかいな
scanf関数をつかって
数値7をどのaのint型の変数宣言によって作製されたaに格納しようとしているのか・・・な・・・
scanf関数をつかって数値7をint型の変数aに格納するには
まず
scanf関数が使われる前に
事前に
数値7を格納する変数aを用意しておかないといけないね
変数宣言 int a;が行われている必要があったっけ~?
それとそれと・・・
確かscanf関数をつかって
int型の変数aに数値7を格納するとき
int a;
と
aの変数宣言されていて
変数が作製されている必要がありますが
たとえば
int a=1000;
と
aの変数宣言,初期化がおこなわれて
すでに
aに数値1000が代入されていても
scanf関数をつかって変数aに新たな数値データ7を格納できるんです
すごいですよね。
つまり
scanf関数をつかって変数aに数値を格納するとき
int a=8;
int a=888;
int a=1028;
int a=10022;
のように
すでに変数aに数値が代入されていても
代わりに変数aに数値7を格納できるんでした。
なぜなら
これは
次のプログラムをみてもわかるように
#include <stdio.h>
int main(void){
int a=2;
printf("%d\n",a);
a=5;
printf("%d\n",a);
return 0;
}
プログラムの実行結果
2
5
変数aに数値データ2が格納されているのを
変数aに数値データ5が格納されている状態に変更するのと
同じことだからでした
ここから先の解説は・・・
やっぱり アレサとソーラー呼ぼうっと🌻」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます