から




専門/H16/04

正解 Edit

1

検証 Edit

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);

Tag: C言語の実行結果



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 下位頁新規  一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-02-22 Mon 23:18:40 JST (2920d)