#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: 18行目でグローバル変数xに101を代入したため]\n " , x
) ; mondai1( 102 ) ;
printf ( "x = %d [GS: 20行目でmondai1関数を呼び出し、4行目でxに102を代入したため]\n " , x
) ; mondai2( ) ;
mondai2( ) ;
mondai2( ) ;
printf ( "x = %d [GS: 22~24行目でmondai2関数を3回呼び出し、8行目でcの値12をxに代入したため]\n " , x
) ; for ( int i = 103 ; i < 104 ; i++ ) {
int x = i;
printf ( "x = %d [LA: 27行目でローカル変数xにiの値103を代入したため]\n " , x
) ; x = mondai3( i) ;
printf ( "x = %d [LA: 29行目でmondai3関数を呼び出し、14行目で104が返されてxに代入されたため]\n " , x
) ; }
printf ( "x = %d [GS: 29行目でmondai3関数を呼び出し、12行目でグローバル変数xが1増えて13になったため]\n " , x
) ; return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCB4Owp2b2lkIG1vbmRhaTEoaW50IGIpIHsKeCA9IGI7Cn0Kdm9pZCBtb25kYWkyKHZvaWQpIHsKc3RhdGljIGludCBjID0gMTA7CnggPSBjOwpjKys7Cn0KaW50IG1vbmRhaTMoaW50IGQpIHsKeCsrOwpkKys7CnJldHVybiBkOwp9CmludCBtYWluKHZvaWQpIHsKcHJpbnRmKCJ4ID0gJWQgW0dTOiAy6KGM55uu44Gn44Kw44Ot44O844OQ44Or5aSJ5pWweOOCkuWuo+iogOOBl+OAgeWIneacn+WApOOBjDDjgavjgarjgovjgZ/jgoFdXG4iLCB4KTsKeCA9IDEwMTsKcHJpbnRmKCJ4ID0gJWQgW0dTOiAxOOihjOebruOBp+OCsOODreODvOODkOODq+WkieaVsHjjgasxMDHjgpLku6PlhaXjgZfjgZ/jgZ/jgoFdXG4iLCB4KTsKbW9uZGFpMSgxMDIpOwpwcmludGYoInggPSAlZCBbR1M6IDIw6KGM55uu44GnbW9uZGFpMemWouaVsOOCkuWRvOOBs+WHuuOBl+OAgTTooYznm67jgad444GrMTAy44KS5Luj5YWl44GX44Gf44Gf44KBXVxuIiwgeCk7Cm1vbmRhaTIoKTsKbW9uZGFpMigpOwptb25kYWkyKCk7CnByaW50ZigieCA9ICVkIFtHUzogMjLvvZ4yNOihjOebruOBp21vbmRhaTLplqLmlbDjgpIz5Zue5ZG844Gz5Ye644GX44CBOOihjOebruOBp2Pjga7lgKQxMuOCknjjgavku6PlhaXjgZfjgZ/jgZ/jgoFdXG4iLCB4KTsKZm9yIChpbnQgaSA9IDEwMzsgaSA8IDEwNDsgaSsrKSB7CmludCB4ID0gaTsKcHJpbnRmKCJ4ID0gJWQgW0xBOiAyN+ihjOebruOBp+ODreODvOOCq+ODq+WkieaVsHjjgatp44Gu5YCkMTAz44KS5Luj5YWl44GX44Gf44Gf44KBXVxuIiwgeCk7CnggPSBtb25kYWkzKGkpOwpwcmludGYoInggPSAlZCBbTEE6IDI56KGM55uu44GnbW9uZGFpM+mWouaVsOOCkuWRvOOBs+WHuuOBl+OAgTE06KGM55uu44GnMTA044GM6L+U44GV44KM44GmeOOBq+S7o+WFpeOBleOCjOOBn+OBn+OCgV1cbiIsIHgpOwp9CnByaW50ZigieCA9ICVkIFtHUzogMjnooYznm67jgadtb25kYWkz6Zai5pWw44KS5ZG844Gz5Ye644GX44CBMTLooYznm67jgafjgrDjg63jg7zjg5Djg6vlpInmlbB444GMMeWil+OBiOOBpjEz44Gr44Gq44Gj44Gf44Gf44KBXVxuIiwgeCk7CnJldHVybiAwOwp9