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