変数のスコープについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: 変数のスコープについて

Re: 変数のスコープについて

#2

by box » 1年前

変数のスコープとは全然関係ないです。
関数の呼び出し・実行順は
1)mainの先頭でsub1を呼んでいる。
2)sub1の先頭でsub2を呼んでいる。
3)sub2でaの値を出力している。
4)sub1に戻り、cの値を出力している。
5)mainに戻り、bの値を出力している。
ってだけです。

変数のスコープについて

#1

by conori » 1年前

#include <stdio.h>

int a = 1;

void sub1(int);
void sub2();

int main()
{
int b = 2;

sub1(b);

printf("%d\n" , b);

return 0;
}

void sub1 (int c)
{
sub2();
printf("%d\n" , c);
}

void sub2()
{
printf("%d\n" , a);
}


で何故printf("%d\n" , a);が最初に実行されるのでしょうか?何故このコードは全部下から実行されるのでしょうか

ページトップ