[[専門/H16/04]]
*正解 [#w723ca38]
1
*検証 [#xdd0989a]
 int a=1; int b=2; int c=3;
 void f(int x, int y, int z){
	int b=0
	a=a+x; b=b+y; c=c+z;
	printf("%d,%d,%d,", a, b, c);
 }
 
 main() {
	int a;
	a=10; b=20; c=30;
	f(100, 200, 300);
	printf("%d,%d,%d\n", a, b, c);
 }

-グローバル変数の定義,g.a = 1, g.b = 2, g.c =3
 int a=1; int b=2; int c=3;
-main()内でローカル変数を宣言,main.a = 0
 main() {
	int a;
-main.a=10, g.b=20, g.c = 30
	a=10; b=20; c=30;
-関数fを呼ぶ
	f(100, 200, 300);
-引数は,x=100, y=200, z=300
 void f(int x, int y, int z){
-f()内でローカル変数を宣言,f.b = 0
	int b=0
-g.a=g.a+x = 1+100 = 101
-f.b=f.b+y = 0+200 = 200
-g.c=g.v+z = 30+300 = 330
	a=a+x; b=b+y; c=c+z;
-(a, b, c) = (g.a, f.b, g.c) = (101, 200, 330)
	printf("%d,%d,%d,", a, b, c);
-main()に戻る
-(a, b, c) = (main.a, g.b, g.c) = (10, 20, 330) 
	printf("%d,%d,%d\n", a, b, c);

----
&(C言語の実行結果);
&tag(C言語の実行結果);
RIGHT:[[専門/H16/04]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 下位頁新規  一覧 単語検索 最終更新   ヘルプ   最終更新のRSS