#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:前行でxに101を代入した]\n",x
); mondai1(102);
printf("x=%d [GS:mondai1(102)を呼び出し、xに102を代入した]\n",x
); mondai2();
mondai2();
mondai2();
printf("x=%d [GS:mondai2()を3回呼び出し、10→11→12の順でxに代入した]\n",x
); for(int i=103;i<104;i++){
int x=i;
printf("x=%d [LA:for文の中でx=iと定義し、103を代入した]\n",x
); x=mondai3(i);
printf("x=%d [LA:mondai3を呼び出し、103に1を足して代入した]\n",x
); }
printf("x=%d [GS:mondai3を呼び出したとき12行目でxを++した]\n",x
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCB4Owp2b2lkIG1vbmRhaTEoaW50IGIpewoJeD1iOwp9CnZvaWQgbW9uZGFpMih2b2lkKXsKCXN0YXRpYyBpbnQgYz0xMDsKCXg9YzsKCWMrKzsKfQppbnQgbW9uZGFpMyhpbnQgZCl7Cgl4Kys7CglkKys7CglyZXR1cm4gZDsKfQppbnQgbWFpbih2b2lkKSB7CglwcmludGYoIng9JWQgW0dTOuOCsOODreODvOODkOODq+WkieaVsOOBrzDjgafliJ3mnJ/ljJbjgZXjgozjgotdXG4iLHgpOwoJeD0xMDE7CglwcmludGYoIng9JWQgW0dTOuWJjeihjOOBp3jjgasxMDHjgpLku6PlhaXjgZfjgZ9dXG4iLHgpOwoJbW9uZGFpMSgxMDIpOwoJcHJpbnRmKCJ4PSVkIFtHUzptb25kYWkxKDEwMinjgpLlkbzjgbPlh7rjgZfjgIF444GrMTAy44KS5Luj5YWl44GX44GfXVxuIix4KTsKCW1vbmRhaTIoKTsKCW1vbmRhaTIoKTsKCW1vbmRhaTIoKTsKCXByaW50ZigieD0lZCBbR1M6bW9uZGFpMigp44KSM+WbnuWRvOOBs+WHuuOBl+OAgTEw4oaSMTHihpIxMuOBrumghuOBp3jjgavku6PlhaXjgZfjgZ9dXG4iLHgpOwoJZm9yKGludCBpPTEwMztpPDEwNDtpKyspewoJCWludCB4PWk7CgkJcHJpbnRmKCJ4PSVkIFtMQTpmb3Lmlofjga7kuK3jgad4PWnjgajlrprnvqnjgZfjgIExMDPjgpLku6PlhaXjgZfjgZ9dXG4iLHgpOwoJCXg9bW9uZGFpMyhpKTsKCQlwcmludGYoIng9JWQgW0xBOm1vbmRhaTPjgpLlkbzjgbPlh7rjgZfjgIExMDPjgasx44KS6Laz44GX44Gm5Luj5YWl44GX44GfXVxuIix4KTsKCX0KCXByaW50ZigieD0lZCBbR1M6bW9uZGFpM+OCkuWRvOOBs+WHuuOBl+OBn+OBqOOBjTEy6KGM55uu44GneOOCkisr44GX44GfXVxuIix4KTsKCXJldHVybiAwOwp9Cg==