#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;
}
