#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:前行で101が代入された]\n " , x
) ; mondai1( 102 ) ;
printf ( "x = %d [G:mondai1関数で102が代入された]\n " , x
) ; mondai2( ) ;
mondai2( ) ;
mondai2( ) ;
printf ( "x = %d [G:mondai2関数で静的関数(ローカル変数)が定められ3回処理が行われたのちxに代入された]\n " , x
) ; for ( int i = 103 ; i < 104 ; i++ ) {
int x = i;
printf ( "x = %d [L:前行の部分でfor文内、x=iと定められi=103だから]\n " , x
) ; x = mondai3( i) ;
printf ( "x = %d [L:mondai3関数でdに103が代入され+1されて前行のxに戻ってきた]\n " , x
) ; }
printf ( "x = %d [G:mondai3関数内で21行目のグローバル変数であるxに+1された]\n " , x
) ; return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCB4Owp2b2lkIG1vbmRhaTEoaW50IGIpIHsKICAgIHggPSBiOwp9CnZvaWQgbW9uZGFpMih2b2lkKSB7CiAgICBzdGF0aWMgaW50IGMgPSAxMDsKICAgIHggPSBjOwogICAgYysrOwp9CmludCBtb25kYWkzKGludCBkKSB7CiAgICB4Kys7CiAgICBkKys7CiAgICByZXR1cm4gZDsKfQppbnQgbWFpbih2b2lkKSB7CiAgICBwcmludGYoInggPSAlZCBbRzrjgrDjg63jg7zjg5Djg6vlpInmlbDjgavjga/lgKTjgYzmsbrjgoHjgonjgozjgabjgYTjgarjgYRdXG4iLCB4KTsKICAgIHggPSAxMDE7CiAgICBwcmludGYoInggPSAlZCBbRzrliY3ooYzjgacxMDHjgYzku6PlhaXjgZXjgozjgZ9dXG4iLCB4KTsKICAgIG1vbmRhaTEoMTAyKTsKICAgIHByaW50ZigieCA9ICVkIFtHOm1vbmRhaTHplqLmlbDjgacxMDLjgYzku6PlhaXjgZXjgozjgZ9dXG4iLCB4KTsKICAgIG1vbmRhaTIoKTsKICAgIG1vbmRhaTIoKTsKICAgIG1vbmRhaTIoKTsKICAgIHByaW50ZigieCA9ICVkIFtHOm1vbmRhaTLplqLmlbDjgafpnZnnmoTplqLmlbAo44Ot44O844Kr44Or5aSJ5pWwKeOBjOWumuOCgeOCieOCjDPlm57lh6bnkIbjgYzooYzjgo/jgozjgZ/jga7jgaF444Gr5Luj5YWl44GV44KM44GfXVxuIiwgeCk7CiAgICBmb3IgKGludCBpID0gMTAzOyBpIDwgMTA0OyBpKyspIHsKICAgICAgICBpbnQgeCA9IGk7CiAgICAgICAgcHJpbnRmKCJ4ID0gJWQgW0w65YmN6KGM44Gu6YOo5YiG44GnZm9y5paH5YaF44CBeD1p44Go5a6a44KB44KJ44KMaT0xMDPjgaDjgYvjgoldXG4iLCB4KTsKICAgICAgICB4ID0gbW9uZGFpMyhpKTsKICAgICAgICBwcmludGYoInggPSAlZCBbTDptb25kYWkz6Zai5pWw44GnZOOBqzEwM+OBjOS7o+WFpeOBleOCjCsx44GV44KM44Gm5YmN6KGM44GueOOBq+aIu+OBo+OBpuOBjeOBn11cbiIsIHgpOwogICAgfQogICAgcHJpbnRmKCJ4ID0gJWQgW0c6bW9uZGFpM+mWouaVsOWGheOBpzIx6KGM55uu44Gu44Kw44Ot44O844OQ44Or5aSJ5pWw44Gn44GC44KLeOOBqysx44GV44KM44GfXVxuIiwgeCk7CiAgICByZXR1cm4gMDsKfQ==