#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（xが初期値より）3行目\n", x);
    x = 101;
    printf("x=%d(GS（X=101を代入した23行目\n", x);
    mondai1(102);
    printf("x=%d（GS　mondai 1でグローバル関数にｘに102を代入したため。25行目\n", x);

    mondai2();
    mondai2();
    mondai2();
    printf("x=%d LS（static変数cが10,11,12と変化していき最終的にxへ代入されたから）30行目\n", x);

    for(int i = 103; i < 104; i++){
        int x = i;
        printf("x=%d　LA（for文の中のiを代入　34行目\n", x);
        x = mondai3(i);
        printf("x=%d LA(mondai3 戻り値で戻ってきたdを代入して104となった\n　36行目", x);
    }

    printf("x=%d　GS(mondai3 でグローバルxに1がたされた\n", x);
    return 0;
}
