#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:グローバル変数の初期値は０だから]\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;
}