#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のxの初期値は0なので0を表示]\n " , x
) ; // (1) x = 101 ;
printf ( "x = %d [前の行でxに101を代入したので101を表示]\n " , x
) ; // (2)
mondai1( 102 ) ;
printf ( "x = %d [102がmondai1関数の引数bに102が代入され、この関数内で102がxに代入されたため102を表示]\n " , x
) ; // (3)
mondai2( ) ;
mondai2( ) ;
mondai2( ) ;
printf ( "x = %d [mondai2関数が3回実行され、static型なので加算が自動的に行われ、最終的にxに代入した12を表示]\n " , x
) ; // (4) for ( int i = 103 ; i < 104 ; i++ ) {
int x = i;
printf ( "x = %d [前の行でLのxにiが代入されたので、その前にiに代入された103を表示]\n " , x
) ; // (5) x = mondai3( i) ;
printf ( "x = %d [mondai3関数内で、iが引数dに代入され、+1加算された状態で返されるので104を表示]\n " , x
) ; // (6) }
printf ( "x = %d [前の行のmondai3関数内で、Gのxも+1加算されているので13を表示]\n " , x
) ; // (7) return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgeDsKCnZvaWQgbW9uZGFpMShpbnQgYil7CiAgICB4ID0gYjsKfQoKdm9pZCBtb25kYWkyKHZvaWQpewogICAgc3RhdGljIGludCBjID0gMTA7CiAgICB4ID0gYzsKICAgIGMrKzsKfQoKaW50IG1vbmRhaTMoaW50IGQpewogICAgeCsrOwogICAgZCsrOwogICAgcmV0dXJuIGQ7Cn0KCmludCBtYWluKHZvaWQpewogICAgcHJpbnRmKCJ4ID0gJWQgW0fjga5444Gu5Yid5pyf5YCk44GvMOOBquOBruOBpzDjgpLooajnpLpdXG4iLCB4KTsgICAvLyAoMSkKICAgIHggPSAxMDE7CiAgICBwcmludGYoInggPSAlZCBb5YmN44Gu6KGM44GneOOBqzEwMeOCkuS7o+WFpeOBl+OBn+OBruOBpzEwMeOCkuihqOekul1cbiIsIHgpOyAgIC8vICgyKQoKICAgIG1vbmRhaTEoMTAyKTsKICAgIHByaW50ZigieCA9ICVkIFsxMDLjgYxtb25kYWkx6Zai5pWw44Gu5byV5pWwYuOBqzEwMuOBjOS7o+WFpeOBleOCjOOAgeOBk+OBrumWouaVsOWGheOBpzEwMuOBjHjjgavku6PlhaXjgZXjgozjgZ/jgZ/jgoExMDLjgpLooajnpLpdXG4iLCB4KTsgICAvLyAoMykgCgogICAgbW9uZGFpMigpOwogICAgbW9uZGFpMigpOwogICAgbW9uZGFpMigpOwogICAgcHJpbnRmKCJ4ID0gJWQgW21vbmRhaTLplqLmlbDjgYwz5Zue5a6f6KGM44GV44KM44CBc3RhdGlj5Z6L44Gq44Gu44Gn5Yqg566X44GM6Ieq5YuV55qE44Gr6KGM44KP44KM44CB5pyA57WC55qE44GreOOBq+S7o+WFpeOBl+OBnzEy44KS6KGo56S6XVxuIiwgeCk7ICAgLy8gKDQpIAogICAgZm9yIChpbnQgaSA9IDEwMzsgaSA8IDEwNDsgaSsrKXsKICAgICAgICBpbnQgeCA9IGk7CiAgICAgICAgcHJpbnRmKCJ4ID0gJWQgW+WJjeOBruihjOOBp0zjga5444GraeOBjOS7o+WFpeOBleOCjOOBn+OBruOBp+OAgeOBneOBruWJjeOBq2njgavku6PlhaXjgZXjgozjgZ8xMDPjgpLooajnpLpdXG4iLCB4KTsgICAvLyAoNSkKICAgICAgICB4ID0gbW9uZGFpMyhpKTsKICAgICAgICBwcmludGYoInggPSAlZCBbbW9uZGFpM+mWouaVsOWGheOBp+OAgWnjgYzlvJXmlbBk44Gr5Luj5YWl44GV44KM44CBKzHliqDnrpfjgZXjgozjgZ/nirbmhYvjgafov5TjgZXjgozjgovjga7jgacxMDTjgpLooajnpLpdXG4iLCB4KTsgICAvLyAoNikKICAgIH0KCiAgICBwcmludGYoInggPSAlZCBb5YmN44Gu6KGM44GubW9uZGFpM+mWouaVsOWGheOBp+OAgUfjga5444KCKzHliqDnrpfjgZXjgozjgabjgYTjgovjga7jgacxM+OCkuihqOekul1cbiIsIHgpOyAgIC8vICg3KQogICAgcmV0dXJuIDA7Cn0K