#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:2行目のxの値が指定されていないので、グローバル変数が初期化される]\n",x);
	x = 101;
	printf("x = %d [GS:18行で101を代入した]\n",x);
	mondai1(102);
	printf("x = %d [GS:20行目で関数mondai1を呼び出し、102を代入]\n",x);
	mondai2();
	mondai2();
	mondai2();
	printf("x = %d [GS:22行目柄関数mondai2を3回呼び出し、10→11→12になり、12を代入]\n",x);
	for(int i = 103;i<104;i++){
		int x = i;
		printf("x = %d [LA:27行で103を代入]\n",x);
		x = mondai3(i);
		printf("x = %d　[LA:29行目で関数mondai3を呼び出し、++した]\n",x);
	}
	printf("x = %d [GS:29行目で関数mondai3が呼び出され、グローバル関数が++した]\n",x);
	return 0;
}
