#include <stdio.h>
int x; // グローバル変数(初期値 0)
void mondai1(int b) {
x = b;
}
void mondai2(void) {
static int c = 10; // 最初の1回だけ初期化
x = c;
c++;
}
int mondai3(int d) {
x++;
d++;
return d;
}
int main(void) {
x = 101;
mondai1(102);
mondai2(); // x=10, c=11
mondai2(); // x=11, c=12
mondai2(); // x=12, c=13
for (int i = 103; i < 104; i++) {
int x = i; // ここでローカル変数 x が宣言される!(グローバルとは別物)
x = mondai3(i); // mondai3 に渡すのは d=i=103
// → グローバル x++ (12→13)
// → d++ = 104 を返す
printf("x = %d\n", x
); // (6) ← ここはローカル変数 x に 104 が代入されている }
printf("x = %d\n", x
); // (7) グローバル x の値(13) return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCB4OyAgIC8vIOOCsOODreODvOODkOODq+WkieaVsO+8iOWIneacn+WApCAw77yJCgp2b2lkIG1vbmRhaTEoaW50IGIpIHsKICAgIHggPSBiOwp9Cgp2b2lkIG1vbmRhaTIodm9pZCkgewogICAgc3RhdGljIGludCBjID0gMTA7IC8vIOacgOWIneOBrjHlm57jgaDjgZHliJ3mnJ/ljJYKICAgIHggPSBjOwogICAgYysrOwp9CgppbnQgbW9uZGFpMyhpbnQgZCkgewogICAgeCsrOwogICAgZCsrOwogICAgcmV0dXJuIGQ7Cn0KCmludCBtYWluKHZvaWQpIHsKICAgIHByaW50ZigieCA9ICVkXG4iLCB4KTsgICAvLyAoMSkKICAgIHggPSAxMDE7CiAgICBwcmludGYoInggPSAlZFxuIiwgeCk7ICAgLy8gKDIpCgogICAgbW9uZGFpMSgxMDIpOwogICAgcHJpbnRmKCJ4ID0gJWRcbiIsIHgpOyAgIC8vICgzKQoKICAgIG1vbmRhaTIoKTsgLy8geD0xMCwgYz0xMQogICAgbW9uZGFpMigpOyAvLyB4PTExLCBjPTEyCiAgICBtb25kYWkyKCk7IC8vIHg9MTIsIGM9MTMKICAgIHByaW50ZigieCA9ICVkXG4iLCB4KTsgICAvLyAoNCkKCiAgICBmb3IgKGludCBpID0gMTAzOyBpIDwgMTA0OyBpKyspIHsKICAgICAgICBpbnQgeCA9IGk7ICAgLy8g44GT44GT44Gn44Ot44O844Kr44Or5aSJ5pWwIHgg44GM5a6j6KiA44GV44KM44KL77yB77yI44Kw44Ot44O844OQ44Or44Go44Gv5Yil54mp77yJCiAgICAgICAgcHJpbnRmKCJ4ID0gJWRcbiIsIHgpOyAgIC8vICg1KQoKICAgICAgICB4ID0gbW9uZGFpMyhpKTsgICAvLyBtb25kYWkzIOOBq+a4oeOBmeOBruOBryBkPWk9MTAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g4oaSIOOCsOODreODvOODkOODqyB4KysgKDEy4oaSMTMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g4oaSIGQrKyA9IDEwNCDjgpLov5TjgZkKICAgICAgICBwcmludGYoInggPSAlZFxuIiwgeCk7ICAgLy8gKDYpIOKGkCDjgZPjgZPjga/jg63jg7zjgqvjg6vlpInmlbAgeCDjgasgMTA0IOOBjOS7o+WFpeOBleOCjOOBpuOBhOOCiwogICAgfQoKICAgIHByaW50ZigieCA9ICVkXG4iLCB4KTsgICAvLyAoNykg44Kw44Ot44O844OQ44OrIHgg44Gu5YCk77yIMTPvvIkKICAgIHJldHVybiAwOwp9Cgo=