int x;
int main() {
x = 14;
f();
g();
}
void f() {
int x = 13;
h();
}
void g() {
int x = 12;
h();
}
void h() {
printf("%d\n",x);
}
静的スコープを使用した場合、結果はどうなりますか? 動的スコープが使用されている場合、結果はどうなりますか?
適切なスコープを理解していれば、静的スコープと動的スコープの違いは、静的は変数をクラスに対してローカルにすることです。したがって、値x
は にローカルvoid f()
でvoid g()
ありint main ()
、ダイナミックはそれらをグローバルに利用できるようにします。このコードに適用する方法がわかりません。静的スコープが使用された場合、最後の値 ( から 12) のみが出力され、動的スコープは?void g()
のすべての値を使用します。x
スコーピングが実際にどのように機能するかについて、私は少し混乱しています。C
ただし、静的スコープを使用していることは知っています。