グローバル変数とローカル変数について以下のコードを入力したときに、zの値が
f; z = 2
g; z = 4
h; z = 6
となるのは理解できるのですが、main関数内のprintfで表示される
1
4
4
となるのかが分かりません。
分かる方、教えていただけないでしょうか。
#include <stdio.h> int z = 1; void f(int x){ int z = x; printf("f; z = %d\n", z); } int g(int x){ z += x; printf("g; z = %d\n", z); } int h(int z){ z += 1; printf("h; z = %d\n", z); } int main(){ f(2); printf("%d\n", z); g(3); printf("%d\n", z); h(5); printf("%d\n", z); return 0; }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。