#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: グローバル変数は自動的に0で初期化される]\n " , x
) ;
x = 101 ;
printf ( "x = %d [G: xに101を代入した]\n " , x
) ;
mondai1( 102 ) ;
printf ( "x = %d [G: mondai1でxに102を代入した]\n " , x
) ;
mondai2( ) ;
mondai2( ) ;
mondai2( ) ;
printf ( "x = %d [GS: static変数cが10→11→12となり、その値がxに代入された]\n " , x
) ;
for ( int i = 103 ; i < 104 ; i++ ) {
int x = i;
printf ( "x = %d [L: ローカル変数xにi(103)を代入した]\n " , x
) ;
x = mondai3( i) ;
printf ( "x = %d [L: mondai3でdを1増やし、戻り値104をローカル変数xに代入した]\n " , x
) ; }
printf ( "x = %d [G: mondai3でグローバル変数xが12から13に増加した]\n " , x
) ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgeDsgIAoKdm9pZCBtb25kYWkxKGludCBiKXsKICAgIHggPSBiOwp9Cgp2b2lkIG1vbmRhaTIodm9pZCl7CiAgICBzdGF0aWMgaW50IGMgPSAxMDsgIAogICAgeCA9IGM7CiAgICBjKys7Cn0KCmludCBtb25kYWkzKGludCBkKXsKICAgIHgrKzsKICAgIGQrKzsKICAgIHJldHVybiBkOwp9CgppbnQgbWFpbih2b2lkKXsKCiAgICBwcmludGYoInggPSAlZCBbRzog44Kw44Ot44O844OQ44Or5aSJ5pWw44Gv6Ieq5YuV55qE44GrMOOBp+WIneacn+WMluOBleOCjOOCi11cbiIsIHgpOwoKICAgIHggPSAxMDE7CiAgICBwcmludGYoInggPSAlZCBbRzogeOOBqzEwMeOCkuS7o+WFpeOBl+OBn11cbiIsIHgpOwoKICAgIG1vbmRhaTEoMTAyKTsKICAgIHByaW50ZigieCA9ICVkIFtHOiBtb25kYWkx44GneOOBqzEwMuOCkuS7o+WFpeOBl+OBn11cbiIsIHgpOwoKICAgIG1vbmRhaTIoKTsKICAgIG1vbmRhaTIoKTsKICAgIG1vbmRhaTIoKTsKICAgIHByaW50ZigieCA9ICVkIFtHUzogc3RhdGlj5aSJ5pWwY+OBjDEw4oaSMTHihpIxMuOBqOOBquOCiuOAgeOBneOBruWApOOBjHjjgavku6PlhaXjgZXjgozjgZ9dXG4iLCB4KTsKCiAgICBmb3IoaW50IGkgPSAxMDM7IGkgPCAxMDQ7IGkrKyl7CgogICAgICAgIGludCB4ID0gaTsgICAKCiAgICAgICAgcHJpbnRmKCJ4ID0gJWQgW0w6IOODreODvOOCq+ODq+WkieaVsHjjgatpKDEwMynjgpLku6PlhaXjgZfjgZ9dXG4iLCB4KTsKCiAgICAgICAgeCA9IG1vbmRhaTMoaSk7CgogICAgICAgIHByaW50ZigieCA9ICVkIFtMOiBtb25kYWkz44GnZOOCkjHlopfjgoTjgZfjgIHmiLvjgorlgKQxMDTjgpLjg63jg7zjgqvjg6vlpInmlbB444Gr5Luj5YWl44GX44GfXVxuIiwgeCk7CiAgICB9CgogICAgcHJpbnRmKCJ4ID0gJWQgW0c6IG1vbmRhaTPjgafjgrDjg63jg7zjg5Djg6vlpInmlbB444GMMTLjgYvjgokxM+OBq+Wil+WKoOOBl+OBn11cbiIsIHgpOwoKICAgIHJldHVybiAwOwp9