#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の初期値は0]\n " , x
) ; x = 101 ;
printf ( "x = %d [GS: グローバル変数xに101を代入]\n " , x
) ; mondai1( 102 ) ;
printf ( "x = %d [GS: mondai1でグローバル変数xに102を代入]\n " , x
) ; mondai2( ) ;
mondai2( ) ;
mondai2( ) ;
printf ( "x = %d [GS: mondai2を3回呼び、静的変数cが10、11、12と変化したため]\n " , x
) ; for ( int i = 103 ; i < 104 ; i++ ) {
int x = i;
printf ( "x = %d [LA: 27行目でfor文内の自動変数xにi=103を代入]\n " , x
) ; x = mondai3( i) ;
printf ( "x = %d [LA: mondai3がdを103から104に増やし、その値をローカル変数xに代入]\n " , x
) ; }
printf ( "x = %d [GS: mondai3内でグローバル変数xを12から13に増加]\n " , x
) ; return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCB4Owp2b2lkIG1vbmRhaTEoaW50IGIpIHsKICAgIHggPSBiOwp9CnZvaWQgbW9uZGFpMih2b2lkKSB7CiAgICBzdGF0aWMgaW50IGMgPSAxMDsKICAgIHggPSBjOwogICAgYysrOwp9CmludCBtb25kYWkzKGludCBkKSB7CiAgICB4Kys7CiAgICBkKys7CiAgICByZXR1cm4gZDsKfQppbnQgbWFpbih2b2lkKSB7CiAgICBwcmludGYoInggPSAlZCBbR1M6IDLooYznm67jgafjgrDjg63jg7zjg5Djg6vlpInmlbB444Gu5Yid5pyf5YCk44GvMF1cbiIsIHgpOwogICAgeCA9IDEwMTsKICAgIHByaW50ZigieCA9ICVkIFtHUzog44Kw44Ot44O844OQ44Or5aSJ5pWweOOBqzEwMeOCkuS7o+WFpV1cbiIsIHgpOwogICAgbW9uZGFpMSgxMDIpOwogICAgcHJpbnRmKCJ4ID0gJWQgW0dTOiBtb25kYWkx44Gn44Kw44Ot44O844OQ44Or5aSJ5pWweOOBqzEwMuOCkuS7o+WFpV1cbiIsIHgpOwogICAgbW9uZGFpMigpOwogICAgbW9uZGFpMigpOwogICAgbW9uZGFpMigpOwogICAgcHJpbnRmKCJ4ID0gJWQgW0dTOiBtb25kYWky44KSM+WbnuWRvOOBs+OAgemdmeeahOWkieaVsGPjgYwxMOOAgTEx44CBMTLjgajlpInljJbjgZfjgZ/jgZ/jgoFdXG4iLCB4KTsKICAgIGZvciAoaW50IGkgPSAxMDM7IGkgPCAxMDQ7IGkrKykgewogICAgICAgIGludCB4ID0gaTsKICAgICAgICBwcmludGYoInggPSAlZCBbTEE6IDI36KGM55uu44GnZm9y5paH5YaF44Gu6Ieq5YuV5aSJ5pWweOOBq2k9MTAz44KS5Luj5YWlXVxuIiwgeCk7CiAgICAgICAgeCA9IG1vbmRhaTMoaSk7CiAgICAgICAgcHJpbnRmKCJ4ID0gJWQgW0xBOiBtb25kYWkz44GMZOOCkjEwM+OBi+OCiTEwNOOBq+Wil+OChOOBl+OAgeOBneOBruWApOOCkuODreODvOOCq+ODq+WkieaVsHjjgavku6PlhaVdXG4iLCB4KTsKICAgIH0KICAgIHByaW50ZigieCA9ICVkIFtHUzogbW9uZGFpM+WGheOBp+OCsOODreODvOODkOODq+WkieaVsHjjgpIxMuOBi+OCiTEz44Gr5aKX5YqgXVxuIiwgeCk7CiAgICByZXR1cm4gMDsKfQ==