#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変数:前行で値101を代入]\n",x
); mondai1(102);
printf("x=%d[G変数:前行でmondai1関数を呼び出して値を代入]\n",x
); mondai2();
mondai2();
mondai2();
printf("x=%d[G変数:前3行でmondai2関数を呼び出して値を代入,static修飾子がついているので8行目ははじめの1度だけ実行される,cに1足される前にxに値が入るから13ではない]\n",x
); for(int i=103;i<104;i++){
int x=i;
printf("x=%d[L変数:前行で変数iを代入し,for文の条件よりiの初期値]\n",x
); x=mondai3(i);
printf("x=%d[L変数:前行でmondai3関数を呼び出して戻り値を代入,呼び出した時点でiは103よりmondai3関数内で+1される]\n",x
); }
printf("x=%d[G変数:31行目でmondai3関数を呼び出し,xが+1される]\n",x
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgeDsKdm9pZCBtb25kYWkxKGludCBiKXsKCXg9YjsKfQp2b2lkIG1vbmRhaTIodm9pZCl7CglzdGF0aWMgaW50IGM9MTA7Cgl4PWM7CgljKys7Cn0KaW50IG1vbmRhaTMoaW50IGQpewoJeCsrOwoJZCsrOwoJcmV0dXJuIGQ7Cn0KCmludCBtYWluKHZvaWQpewoJcHJpbnRmKCJ4PSVkW0flpInmlbA6MOOBp+WIneacn+WMluOBleOCjOOBpuOBhOOCi11cbiIseCk7Cgl4PTEwMTsKCXByaW50ZigieD0lZFtH5aSJ5pWwOuWJjeihjOOBp+WApDEwMeOCkuS7o+WFpV1cbiIseCk7Cgltb25kYWkxKDEwMik7CglwcmludGYoIng9JWRbR+WkieaVsDrliY3ooYzjgadtb25kYWkx6Zai5pWw44KS5ZG844Gz5Ye644GX44Gm5YCk44KS5Luj5YWlXVxuIix4KTsKCW1vbmRhaTIoKTsKCW1vbmRhaTIoKTsKCW1vbmRhaTIoKTsKCXByaW50ZigieD0lZFtH5aSJ5pWwOuWJjTPooYzjgadtb25kYWky6Zai5pWw44KS5ZG844Gz5Ye644GX44Gm5YCk44KS5Luj5YWlLHN0YXRpY+S/rumjvuWtkOOBjOOBpOOBhOOBpuOBhOOCi+OBruOBpzjooYznm67jga/jga/jgZjjgoHjga4x5bqm44Gg44GR5a6f6KGM44GV44KM44KLLGPjgasx6Laz44GV44KM44KL5YmN44GreOOBq+WApOOBjOWFpeOCi+OBi+OCiTEz44Gn44Gv44Gq44GEXVxuIix4KTsKCWZvcihpbnQgaT0xMDM7aTwxMDQ7aSsrKXsKCQlpbnQgeD1pOwoJCXByaW50ZigieD0lZFtM5aSJ5pWwOuWJjeihjOOBp+WkieaVsGnjgpLku6PlhaXjgZcsZm9y5paH44Gu5p2h5Lu244KI44KKaeOBruWIneacn+WApF1cbiIseCk7CgkJeD1tb25kYWkzKGkpOwoJCXByaW50ZigieD0lZFtM5aSJ5pWwOuWJjeihjOOBp21vbmRhaTPplqLmlbDjgpLlkbzjgbPlh7rjgZfjgabmiLvjgorlgKTjgpLku6PlhaUs5ZG844Gz5Ye644GX44Gf5pmC54K544GnaeOBrzEwM+OCiOOCim1vbmRhaTPplqLmlbDlhoXjgacrMeOBleOCjOOCi11cbiIseCk7Cgl9CglwcmludGYoIng9JWRbR+WkieaVsDozMeihjOebruOBp21vbmRhaTPplqLmlbDjgpLlkbzjgbPlh7rjgZcseOOBjCsx44GV44KM44KLXVxuIix4KTsKCXJldHVybiAwOwoKfQoK