まずは変数のスコープについて学んでみましょう。変数のスコープとは変数宣言された変数が使用可能な範囲のことです

🌞自作関数10 main関数内で自作関数f(int a)がf(1);と記述されている場合 1は《《自作関数の引数内で変数宣言されたint a;》》に代入されています。



ソーラー「まだまだ いくよアレサ!GO GO」


アレサ「はい😊ソーラーさん」


ソーラー「


次はfor{}文をつかって


次のように定義された自作関数void f(void)

👇

void f(void){

int a=1;

printf("%dをとりこみました。\n",a);

}


繰り返し実行してみよう。


つまり


main関数内で


f();


を繰り返し実行することになるんだよ~」


そのプログラムはこちらです

👇


#include <stdio.h>


void f(void){

int a=1;

printf("%dをとりこみました。\n",a);

}


int main(void){

int b;

for(b=1;b<5;b++)

{

f();

printf("%dをとりこみました。\n",b);//👈自作関数との実行結果の違いを観察してね

}

return 0;

}


プログラムの実行結果


1をとりこみました。

1をとりこみました。

1をとりこみました。

2をとりこみました。

1をとりこみました。

3をとりこみました。

1をとりこみました。

4をとりこみました。



ソーラー「


このプログラムでは


数値を1回目から4回目まで


b=1からb=4まで変えながら   


          f(); の命令文と


       printf("%dをとりこみました。\n",b);の命令文の


2つの命令文が


for文により4回繰り返して実行されているよね。


簡単だったかな




では では


あらたなプログラムに挑戦します


自作関数fの定義


void f(void){

int a=1;

printf("%dをとりこみました。\n",a);

}


  

      🌞void f(void)をvoid f(int a)にきりかえて🌞


      🌞ブロック{}内からint aを取り除いた🌞


void f(int a){

printf("%dをとりこみました。\n",a);

}


が用いられた



次のプログラムの実行結果はどうなるかな?」


👇

#include <stdio.h>


void f(int a){

printf("%dをとりこみました。\n",a);

}


int main(void){

int b;

for(b=1;b<5;b++){

f(1);

printf("%dをとりこみました。\n",b);

}

return 0;

}


アレサ

「f(1);ですか・・・


この1は自作関数


void f(int a){

printf("%dをとりこみました。\n",a);

}

の中の 🍅int a🍅に代入されています。


となると

f(1);の

実行結果は


printf("%dをとりこみました。\n",a);


のaに1が代入された


printf("%dをとりこみました。\n",1);


が実行されることになり


1をとりこみました。


が表示されます。



🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓

そうmainでf(1);と記述されていても


1はf()int aに代入されています。

🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓



ですので


数値を1回目から4回目まで


b=1からb=4まで変えながら   


          f(1); の命令文と


       printf("%dをとりこみました。\n",b);の命令文の


2つの命令文が


for文により


4回くり返して実行されて


プログラムの実行結果は


1をとりこみました。

1をとりこみました。

1をとりこみました。

2をとりこみました。

1をとりこみました。

3をとりこみました。

1をとりこみました。

4をとりこみました。


となります。」



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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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