#include <stdio.h>
int x;
void mondai1(int b){
x = b;
}
void mondai2(void){
static int c = 10;
x = c;
c++;
}
int mondai3(int d){
x++;
d++;
return d;
}
int main(void){
printf("x=%d(GS(xが初期値より)3行目\n", x
); x = 101;
printf("x=%d(GS(X=101を代入した23行目\n", x
); mondai1(102);
printf("x=%d(GS mondai 1でグローバル関数にxに102を代入したため。25行目\n", x
);
mondai2();
mondai2();
mondai2();
printf("x=%d LS(static変数cが10,11,12と変化していき最終的にxへ代入されたから)30行目\n", x
);
for(int i = 103; i < 104; i++){
int x = i;
printf("x=%d LA(for文の中のiを代入 34行目\n", x
); x = mondai3(i);
printf("x=%d LA(mondai3 戻り値で戻ってきたdを代入して104となった\n 36行目", x
); }
printf("x=%d GS(mondai3 でグローバルxに1がたされた\n", x
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgeDsKCnZvaWQgbW9uZGFpMShpbnQgYil7CiAgICB4ID0gYjsKfQoKdm9pZCBtb25kYWkyKHZvaWQpewogICAgc3RhdGljIGludCBjID0gMTA7CiAgICB4ID0gYzsKICAgIGMrKzsKfQoKaW50IG1vbmRhaTMoaW50IGQpewogICAgeCsrOwogICAgZCsrOwogICAgcmV0dXJuIGQ7Cn0KCmludCBtYWluKHZvaWQpewogICAgcHJpbnRmKCJ4PSVk77yIR1PvvIh444GM5Yid5pyf5YCk44KI44KK77yJM+ihjOebrlxuIiwgeCk7CiAgICB4ID0gMTAxOwogICAgcHJpbnRmKCJ4PSVkKEdT77yIWD0xMDHjgpLku6PlhaXjgZfjgZ8yM+ihjOebrlxuIiwgeCk7CiAgICBtb25kYWkxKDEwMik7CiAgICBwcmludGYoIng9JWTvvIhHU+OAgG1vbmRhaSAx44Gn44Kw44Ot44O844OQ44Or6Zai5pWw44Gr772Y44GrMTAy44KS5Luj5YWl44GX44Gf44Gf44KB44CCMjXooYznm65cbiIsIHgpOwoKICAgIG1vbmRhaTIoKTsKICAgIG1vbmRhaTIoKTsKICAgIG1vbmRhaTIoKTsKICAgIHByaW50ZigieD0lZCBMU++8iHN0YXRpY+WkieaVsGPjgYwxMCwxMSwxMuOBqOWkieWMluOBl+OBpuOBhOOBjeacgOe1gueahOOBq3jjgbjku6PlhaXjgZXjgozjgZ/jgYvjgonvvIkzMOihjOebrlxuIiwgeCk7CgogICAgZm9yKGludCBpID0gMTAzOyBpIDwgMTA0OyBpKyspewogICAgICAgIGludCB4ID0gaTsKICAgICAgICBwcmludGYoIng9JWTjgIBMQe+8iGZvcuaWh+OBruS4reOBrmnjgpLku6PlhaXjgIAzNOihjOebrlxuIiwgeCk7CiAgICAgICAgeCA9IG1vbmRhaTMoaSk7CiAgICAgICAgcHJpbnRmKCJ4PSVkIExBKG1vbmRhaTMg5oi744KK5YCk44Gn5oi744Gj44Gm44GN44GfZOOCkuS7o+WFpeOBl+OBpjEwNOOBqOOBquOBo+OBn1xu44CAMzbooYznm64iLCB4KTsKICAgIH0KCiAgICBwcmludGYoIng9JWTjgIBHUyhtb25kYWkzIOOBp+OCsOODreODvOODkOODq3jjgasx44GM44Gf44GV44KM44GfXG4iLCB4KTsKICAgIHJldHVybiAwOwp9Cg==