#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: 3行目で宣言されたグローバル変数なので0で初期化]\n " , x
) ;
x = 101 ;
printf ( "x = %d [GS: 24行目で101を代入]\n " , x
) ;
mondai1( 102 ) ;
printf ( "x = %d [GS: 27行目mondai1で引数102をグローバル変数xに代入]\n " , x
) ;
mondai2( ) ;
mondai2( ) ;
mondai2( ) ;
printf ( "x = %d [GS: 30~32行目静的変数cが呼び出しごとに増加し、3回目に12を代入]\n " , x
) ;
for ( int i = 103 ; i < 104 ; i++ ) {
int x = i;
printf ( "x = %d [LA: 36行目でローカル変数xをiの値103で初期化]\n " , x
) ;
x = mondai3( i) ;
printf ( "x = %d [LA: 39行目でmondai3でdを103から17行目で104に増加させ、その戻り値を代入]\n " , x
) ; }
printf ( "x = %d [GS: 39行目でmondai3内の16行目のx++でグローバル変数xが12から13に増加]\n " , x
) ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgeDsKCnZvaWQgbW9uZGFpMShpbnQgYil7CiAgICB4ID0gYjsKfQoKdm9pZCBtb25kYWkyKHZvaWQpewogICAgc3RhdGljIGludCBjID0gMTA7CiAgICB4ID0gYzsKICAgIGMrKzsKfQoKaW50IG1vbmRhaTMoaW50IGQpewogICAgeCsrOwogICAgZCsrOwogICAgcmV0dXJuIGQ7Cn0KCmludCBtYWluKHZvaWQpIHsKICAgIHByaW50ZigieCA9ICVkIFtHUzogM+ihjOebruOBp+Wuo+iogOOBleOCjOOBn+OCsOODreODvOODkOODq+WkieaVsOOBquOBruOBpzDjgafliJ3mnJ/ljJZdXG4iLCB4KTsKCiAgICB4ID0gMTAxOwogICAgcHJpbnRmKCJ4ID0gJWQgW0dTOiAyNOihjOebruOBpzEwMeOCkuS7o+WFpV1cbiIsIHgpOwoKICAgIG1vbmRhaTEoMTAyKTsKICAgIHByaW50ZigieCA9ICVkIFtHUzogMjfooYznm65tb25kYWkx44Gn5byV5pWwMTAy44KS44Kw44Ot44O844OQ44Or5aSJ5pWweOOBq+S7o+WFpV1cbiIsIHgpOwoKICAgIG1vbmRhaTIoKTsKICAgIG1vbmRhaTIoKTsKICAgIG1vbmRhaTIoKTsKICAgIHByaW50ZigieCA9ICVkIFtHUzogIDMw772eMzLooYznm67pnZnnmoTlpInmlbBj44GM5ZG844Gz5Ye644GX44GU44Go44Gr5aKX5Yqg44GX44CBM+WbnuebruOBqzEy44KS5Luj5YWlXVxuIiwgeCk7CgogICAgZm9yKGludCBpID0gMTAzOyBpIDwgMTA0OyBpKyspewogICAgICAgIGludCB4ID0gaTsKICAgICAgICBwcmludGYoInggPSAlZCBbTEE6IDM26KGM55uu44Gn44Ot44O844Kr44Or5aSJ5pWweOOCkmnjga7lgKQxMDPjgafliJ3mnJ/ljJZdXG4iLCB4KTsKCiAgICAgICAgeCA9IG1vbmRhaTMoaSk7CiAgICAgICAgcHJpbnRmKCJ4ID0gJWQgW0xBOiAzOeihjOebruOBp21vbmRhaTPjgadk44KSMTAz44GL44KJMTfooYznm67jgacxMDTjgavlopfliqDjgZXjgZvjgIHjgZ3jga7miLvjgorlgKTjgpLku6PlhaVdXG4iLCB4KTsKICAgIH0KCiAgICBwcmludGYoInggPSAlZCBbR1M6IDM56KGM55uu44GnbW9uZGFpM+WGheOBrjE26KGM55uu44GueCsr44Gn44Kw44Ot44O844OQ44Or5aSJ5pWweOOBjDEy44GL44KJMTPjgavlopfliqBdXG4iLCB4KTsKCiAgICByZXR1cm4gMDsKfQog