#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 = %3d [GS: 2行目でグローバル変数xの初期値は0]\n " , x
) ; x = 101 ;
printf ( "x = %3d [GS: 18行目でグローバル変数xに101を代入]\n " , x
) ; mondai1( 102 ) ;
printf ( "x = %3d [GS: 20行目でmondai1を呼び、4行目でxに102を代入]\n " , x
) ; mondai2( ) ;
mondai2( ) ;
mondai2( ) ;
printf ( "x = %3d [GS: 22~24行目でmondai2を3回呼び、7~9行目で静的変数cが10、11、12と変化したため]\n " , x
) ; for ( int i = 103 ; i < 104 ; i++ ) {
int x = i;
printf ( "x = %3d [LA: 27行目でfor文内の自動変数xにi=103を代入]\n " , x
) ; x = mondai3( i) ;
printf ( "x = %3d [LA: 29行目でmondai3がdを103から104に増やし、その値をローカル変数xに代入]\n " , x
) ; }
printf ( "x = %3d [GS: 12行目でmondai3内でグローバル変数xを12から13に増加]\n " , x
) ; return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCB4Owp2b2lkIG1vbmRhaTEoaW50IGIpIHsKICAgIHggPSBiOwp9CnZvaWQgbW9uZGFpMih2b2lkKSB7CiAgICBzdGF0aWMgaW50IGMgPSAxMDsKICAgIHggPSBjOwogICAgYysrOwp9CmludCBtb25kYWkzKGludCBkKSB7CiAgICB4Kys7CiAgICBkKys7CiAgICByZXR1cm4gZDsKfQppbnQgbWFpbih2b2lkKSB7CiAgICBwcmludGYoInggPSAlM2QgW0dTOiAy6KGM55uu44Gn44Kw44Ot44O844OQ44Or5aSJ5pWweOOBruWIneacn+WApOOBrzBdXG4iLCB4KTsKICAgIHggPSAxMDE7CiAgICBwcmludGYoInggPSAlM2QgW0dTOiAxOOihjOebruOBp+OCsOODreODvOODkOODq+WkieaVsHjjgasxMDHjgpLku6PlhaVdXG4iLCB4KTsKICAgIG1vbmRhaTEoMTAyKTsKICAgIHByaW50ZigieCA9ICUzZCBbR1M6IDIw6KGM55uu44GnbW9uZGFpMeOCkuWRvOOBs+OAgTTooYznm67jgad444GrMTAy44KS5Luj5YWlXVxuIiwgeCk7CiAgICBtb25kYWkyKCk7CiAgICBtb25kYWkyKCk7CiAgICBtb25kYWkyKCk7CiAgICBwcmludGYoInggPSAlM2QgW0dTOiAyMn4yNOihjOebruOBp21vbmRhaTLjgpIz5Zue5ZG844Gz44CBN++9njnooYznm67jgafpnZnnmoTlpInmlbBj44GMMTDjgIExMeOAgTEy44Go5aSJ5YyW44GX44Gf44Gf44KBXVxuIiwgeCk7CiAgICBmb3IgKGludCBpID0gMTAzOyBpIDwgMTA0OyBpKyspIHsKICAgICAgICBpbnQgeCA9IGk7CiAgICAgICAgcHJpbnRmKCJ4ID0gJTNkIFtMQTogMjfooYznm67jgadmb3LmloflhoXjga7oh6rli5XlpInmlbB444GraT0xMDPjgpLku6PlhaVdXG4iLCB4KTsKICAgICAgICB4ID0gbW9uZGFpMyhpKTsKICAgICAgICBwcmludGYoInggPSAlM2QgW0xBOiAyOeihjOebruOBp21vbmRhaTPjgYxk44KSMTAz44GL44KJMTA044Gr5aKX44KE44GX44CB44Gd44Gu5YCk44KS44Ot44O844Kr44Or5aSJ5pWweOOBq+S7o+WFpV1cbiIsIHgpOwogICAgfQogICAgcHJpbnRmKCJ4ID0gJTNkIFtHUzogMTLooYznm67jgadtb25kYWkz5YaF44Gn44Kw44Ot44O844OQ44Or5aSJ5pWweOOCkjEy44GL44KJMTPjgavlopfliqBdXG4iLCB4KTsKICAgIHJldHVybiAwOwp9