#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:グローバル変数なので初期値は0]\n" , x
); x=101;
printf("x=%d[G:グローバル変数xに101を代入した]\n" , x
); mondai1(102);
printf("x=%d[G:mondai1関数でxに102を代入した]\n" , x
); mondai2();
mondai2();
mondai2();
printf("x=%d[G:mondai2関数を3回呼び出し、static変数cの値を順に代入した]\n" , x
); for (int i=103;i<104;i++){
int x=i;
printf("x=%d[L:for文内のローカル変数xにiの値103を代入した]\n", x
); x=mondai3(i);
printf("x=%d[L:mondai3関数の戻り値104をローカル変数xに代入した]\n" , x
); }
printf("x=%d[G:mondai3関数でグローバル変数xを1増やした]\n" , x
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCB4OwoKdm9pZCBtb25kYWkxIChpbnQgYil7Cgl4PWI7CgkKfQp2b2lkIG1vbmRhaTIgKHZvaWQpewoJIHN0YXRpYyBpbnQgYz0xMDsKCSB4PWM7CgkgYysrOwp9CmludCBtb25kYWkzKGludCBkKXsKCXgrKzsKCWQrKzsKCXJldHVybiBkOwp9CmludCBtYWluKHZvaWQpIHsKCXByaW50ZigieD0lZFtHOuOCsOODreODvOODkOODq+WkieaVsOOBquOBruOBp+WIneacn+WApOOBr++8kF1cbiIgLCB4KTsKCXg9MTAxOwoJcHJpbnRmKCJ4PSVkW0c644Kw44Ot44O844OQ44Or5aSJ5pWweOOBqzEwMeOCkuS7o+WFpeOBl+OBn11cbiIgLCB4KTsKCW1vbmRhaTEoMTAyKTsKCXByaW50ZigieD0lZFtHOm1vbmRhaTHplqLmlbDjgad444GrMTAy44KS5Luj5YWl44GX44GfXVxuIiAsIHgpOwoJbW9uZGFpMigpOwoJbW9uZGFpMigpOwoJbW9uZGFpMigpOwoJcHJpbnRmKCJ4PSVkW0c6bW9uZGFpMumWouaVsOOCkjPlm57lkbzjgbPlh7rjgZfjgIFzdGF0aWPlpInmlbBj44Gu5YCk44KS6aCG44Gr5Luj5YWl44GX44GfXVxuIiAsIHgpOwoJZm9yIChpbnQgaT0xMDM7aTwxMDQ7aSsrKXsKCQlpbnQgeD1pOwoJCXByaW50ZigieD0lZFtMOmZvcuaWh+WGheOBruODreODvOOCq+ODq+WkieaVsHjjgatp44Gu5YCkMTAz44KS5Luj5YWl44GX44GfXVxuIiwgeCk7CgkJeD1tb25kYWkzKGkpOwoJCXByaW50ZigieD0lZFtMOm1vbmRhaTPplqLmlbDjga7miLvjgorlgKQxMDTjgpLjg63jg7zjgqvjg6vlpInmlbB444Gr5Luj5YWl44GX44GfXVxuIiAsIHgpOwoJfQoJCXByaW50ZigieD0lZFtHOm1vbmRhaTPplqLmlbDjgafjgrDjg63jg7zjg5Djg6vlpInmlbB444KSMeWil+OChOOBl+OBn11cbiIgLCB4KTsKCQlyZXR1cm4gMDsKCQkKfQo=