fork download
  1.  
  2. #include <stdio.h>
  3. int x;
  4. void mondai1(int b){
  5. x=b;
  6. }
  7. void mondai2(void){
  8. static int c = 10;
  9. x=c;
  10. c++;
  11. }
  12. int mondai3 (int d){
  13. x++;
  14. d++;
  15. return d;
  16. }
  17. int main(void) {
  18. // your code goes here
  19. printf("x=%d[G: xは0で初期化される]\n",x);
  20. x=101;
  21. printf("x=%d[G: 前行で101を代入]\n",x);
  22. mondai1(102);
  23. printf("x=%d[G: 前行で102を代入]\n",x);
  24. mondai2();
  25. mondai2();
  26. mondai2();
  27. printf("x=%d[G: c++を3回くりかえすため]\n",x);
  28. for(int i=103;i<104;i++){
  29. int x=i;
  30. printf("x=%d[L: for文の最初に103で初期化]\n",x);
  31. x=mondai3(i);
  32. printf("x=%d[L: 変数内でxを1足す]\n",x);
  33. }
  34. printf("x=%d[G: 直前のmondai3がfor文を抜けて、グローバルのxが直前から+1される]\n",x);
  35.  
  36. return 0;
  37. }
  38.  
Success #stdin #stdout 0s 5312KB
stdin
Standard input is empty
stdout
x=0[G: xは0で初期化される]
x=101[G: 前行で101を代入]
x=102[G: 前行で102を代入]
x=12[G: c++を3回くりかえすため]
x=103[L: for文の最初に103で初期化]
x=104[L: 変数内でxを1足す]
x=13[G: 直前のmondai3がfor文を抜けて、グローバルのxが直前から+1される]