#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[G:最初の行で初期化]\n",x
); x=101;
printf("X=%d[G:前行で値101を代入]\n",x
); mondai1(102);
printf("x=%d[G:前行で関数mondai1を呼び出して戻り値を代入。bが102になり、bがxに置き換わる]\n",x
); mondai2();
mondai2();
mondai2();
printf("x=%d[G:前行で関数mondai2を3回呼び出して戻り値を代入]\n",x
); for(int i=103;i<104;i++){
int x=i;
printf("x=%d[L:前行でiをxに置き換えた値]\n",x
); x=mondai3(i);
printf("x=%d[L:前行で関数mondai3を呼び出してその値をxに置き換えた]\n",x
); }
printf("x=%d[G:25行目のxの値を12行目で++]\n",x
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCB4Owp2b2lkIG1vbmRhaTEoaW50IGIpewoJeD1iOwp9CnZvaWQgbW9uZGFpMih2b2lkKXsKCXN0YXRpYyBpbnQgYz0xMDsKCXg9YzsKCWMrKzsKfQppbnQgbW9uZGFpMyhpbnQgZCl7Cgl4Kys7CglkKys7CglyZXR1cm4gZDsKfQppbnQgbWFpbih2b2lkKXsKCXByaW50ZigieD0lZFtHOuacgOWIneOBruihjOOBp+WIneacn+WMll1cbiIseCk7Cgl4PTEwMTsKCXByaW50ZigiWD0lZFtHOuWJjeihjOOBp+WApDEwMeOCkuS7o+WFpV1cbiIseCk7Cgltb25kYWkxKDEwMik7CglwcmludGYoIng9JWRbRzrliY3ooYzjgafplqLmlbBtb25kYWkx44KS5ZG844Gz5Ye644GX44Gm5oi744KK5YCk44KS5Luj5YWl44CCYuOBjDEwMuOBq+OBquOCiuOAgWLjgYx444Gr572u44GN5o+b44KP44KLXVxuIix4KTsKCW1vbmRhaTIoKTsKCW1vbmRhaTIoKTsKCW1vbmRhaTIoKTsKCXByaW50ZigieD0lZFtHOuWJjeihjOOBp+mWouaVsG1vbmRhaTLjgpIz5Zue5ZG844Gz5Ye644GX44Gm5oi744KK5YCk44KS5Luj5YWlXVxuIix4KTsKCWZvcihpbnQgaT0xMDM7aTwxMDQ7aSsrKXsKCQlpbnQgeD1pOwoJCXByaW50ZigieD0lZFtMOuWJjeihjOOBp2njgpJ444Gr572u44GN5o+b44GI44Gf5YCkXVxuIix4KTsKCQl4PW1vbmRhaTMoaSk7CgkJcHJpbnRmKCJ4PSVkW0w65YmN6KGM44Gn6Zai5pWwbW9uZGFpM+OCkuWRvOOBs+WHuuOBl+OBpuOBneOBruWApOOCknjjgavnva7jgY3mj5vjgYjjgZ9dXG4iLHgpOwoJfQoJcHJpbnRmKCJ4PSVkW0c6MjXooYznm67jga5444Gu5YCk44KSMTLooYznm67jgacrK11cbiIseCk7CglyZXR1cm4gMDsKfQo=