#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:3行目のxの値代入]\n " , x
) ; //3行目のx0 x = 101 ;
printf ( "x = %d[G:前行で値101を代入]\n " , x
) ; //19行目のx101 mondai1( 102 ) ;
printf ( "x = %d[G:前行でmondai1を呼び出して戻り値を代入、戻り値は引数のまま]\n " , x
) ; //5行目のx102 mondai2( ) ;
mondai2( ) ;
mondai2( ) ;
printf ( "x = %d[G:3回呼び出して戻り値代入]\n " , x
) ; //9行目のx12 for ( int i = 103 ; i< 104 ; i++ ) {
int x = i;
printf ( "x = %d[L:前行のx=i代入]\n " , x
) ; //28行目のx103 x = mondai3( i) ;
printf ( "x = %d[L:前行でmondai3を呼び出して戻り値を代入、戻り値は引数に+1]\n " , x
) ; //30行目のx104 }
printf ( "x = %d[G:13行目でxの値を++]\n " , x
) ; //9行目のx13 return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgeDsKdm9pZCBtb25kYWkxKGludCBiKXsKCXggPSBiOwp9CnZvaWQgbW9uZGFpMih2b2lkKXsKCXN0YXRpYyBpbnQgYz0xMDsKCXggPSBjOwoJYysrOwp9CmludCBtb25kYWkzKGludCBkKXsKCXgrKzsKCWQrKzsKCXJldHVybiBkOwp9CmludCBtYWluKHZvaWQpIHsKCXByaW50ZigieCA9ICVkW0c677yT6KGM55uu44GueOOBruWApOS7o+WFpV1cbiIseCk7Ly/vvJPooYznm67jga5477yQCgl4ID0gMTAxOwoJcHJpbnRmKCJ4ID0gJWRbRzrliY3ooYzjgaflgKQxMDHjgpLku6PlhaVdXG4iLHgpOy8v77yR77yZ6KGM55uu44GueO+8ke+8kO+8kQoJbW9uZGFpMSgxMDIpOwoJcHJpbnRmKCJ4ID0gJWRbRzrliY3ooYzjgadtb25kYWkx44KS5ZG844Gz5Ye644GX44Gm5oi744KK5YCk44KS5Luj5YWl44CB5oi744KK5YCk44Gv5byV5pWw44Gu44G+44G+XVxuIix4KTsvL++8leihjOebruOBrnjvvJHvvJDvvJIKCW1vbmRhaTIoKTsKCW1vbmRhaTIoKTsKCW1vbmRhaTIoKTsKCXByaW50ZigieCA9ICVkW0c677yT5Zue5ZG844Gz5Ye644GX44Gm5oi744KK5YCk5Luj5YWlXVxuIix4KTsvL++8meihjOebruOBrnjvvJHvvJIKCWZvciAoaW50IGkgPTEwMzsgaTwxMDQ7aSsrKXsKCQlpbnQgeCA9IGk7CgkJcHJpbnRmKCJ4ID0gJWRbTDrliY3ooYzjga54PWnku6PlhaVdXG4iLHgpOy8v77yS77yY6KGM55uu44GueO+8ke+8kO+8kwoJCXggPSBtb25kYWkzKGkpOwoJCXByaW50ZigieCA9ICVkW0w65YmN6KGM44GnbW9uZGFpM+OCkuWRvOOBs+WHuuOBl+OBpuaIu+OCiuWApOOCkuS7o+WFpeOAgeaIu+OCiuWApOOBr+W8leaVsOOBqysxXVxuIix4KTsvL++8k++8kOihjOebruOBrnjvvJHvvJDvvJQKCX0KCXByaW50ZigieCA9ICVkW0c677yR77yT6KGM55uu44GneOOBruWApOOCkisrXVxuIix4KTsvL++8meihjOebruOBrnjvvJHvvJMKCXJldHVybiAwOwp9