#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:グローバル変数の初期値は0だから]\n",x
); x=101;
printf("x=%d[GS:グローバル変数に101を代入]\n",x
); mondai1(102);
printf("x=%d[GS:21行目mondai1内部でxに102を代入]\n",x
); mondai2();
mondai2();
mondai2();
printf("x=%d[GS:25行目mondai2内部でcがstaticより10+1+1]\n",x
); for(int i=103;i<104;i++){
int x=i;
printf("x=%d[LA:前文でi=103をローカル変数xに代入]\n",x
); x=mondai3(i);
printf("x=%d[LA:前文よりd++から103+1]\n",x
); }
printf("x=%d[GS:30行目の呼び出しでmondai3内部でグローバル変数のxにx++より12+1]\n",x
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCB4Owp2b2lkIG1vbmRhaTEoaW50IGIpewoJeCA9IGI7Cn0Kdm9pZCBtb25kYWkyKHZvaWQpewoJc3RhdGljIGludCBjPTEwOwoJeCA9IGM7CgljKys7Cn0KaW50IG1vbmRhaTMoaW50IGQpewoJeCsrOwoJZCsrOwoJcmV0dXJuIGQ7Cn0KCmludCBtYWluKHZvaWQpIHsKCXByaW50ZigieCA9ICVkW0dTOuOCsOODreODvOODkOODq+WkieaVsOOBruWIneacn+WApOOBr++8kOOBoOOBi+OCiV1cbiIseCk7Cgl4PTEwMTsKCXByaW50ZigieD0lZFtHUzrjgrDjg63jg7zjg5Djg6vlpInmlbDjgasxMDHjgpLku6PlhaVdXG4iLHgpOwoJbW9uZGFpMSgxMDIpOwoJcHJpbnRmKCJ4PSVkW0dTOjIx6KGM55uubW9uZGFpMeWGhemDqOOBp3jjgasxMDLjgpLku6PlhaVdXG4iLHgpOwoJbW9uZGFpMigpOwoJbW9uZGFpMigpOwoJbW9uZGFpMigpOwoJcHJpbnRmKCJ4PSVkW0dTOjI16KGM55uubW9uZGFpMuWGhemDqOOBp2PjgYxzdGF0aWPjgojjgooxMCsxKzFdXG4iLHgpOwoJZm9yKGludCBpPTEwMztpPDEwNDtpKyspewoJCWludCB4PWk7CgkJcHJpbnRmKCJ4PSVkW0xBOuWJjeaWh+OBp2k9MTAz44KS44Ot44O844Kr44Or5aSJ5pWweOOBq+S7o+WFpV1cbiIseCk7CgkJeD1tb25kYWkzKGkpOwoJCXByaW50ZigieD0lZFtMQTrliY3mlofjgojjgopkKyvjgYvjgokxMDMrMV1cbiIseCk7Cgl9CglwcmludGYoIng9JWRbR1M6MzDooYznm67jga7lkbzjgbPlh7rjgZfjgadtb25kYWkz5YaF6YOo44Gn44Kw44Ot44O844OQ44Or5aSJ5pWw44GueOOBq3grK+OCiOOCijEyKzFdXG4iLHgpOwoJcmV0dXJuIDA7Cn0=