fork download
  1. #include <stdio.h>
  2. int x;
  3.  
  4. void mondai1(int b){
  5. x = b;
  6. }
  7.  
  8. void mondai2(void){
  9. static int c = 10;
  10. x = c;
  11. c++;
  12. }
  13.  
  14. int mondai3(int d){
  15. x++;
  16. d++;
  17. return d;
  18. }
  19.  
  20. int main(void){
  21. printf("x=%d[G:初期化]\n", x);
  22. x = 101;
  23. printf("x=%d[G:前行で値101を代入]\n", x);
  24.  
  25. mondai1(102);
  26. printf("x=%d[G:前行でmondai1(102)が呼ばれる。]\n", x);
  27.  
  28. mondai2();
  29. mondai2();
  30. mondai2();
  31. printf("x=%d[G:mondai2が3回呼ばれ、x=cがc++の前で行われているため、xに12が代入される。]\n", x); // (4)
  32.  
  33. for (int i = 103; i < 104; i++){
  34. int x = i;
  35. printf("x=%d[L:引数103にd++で104が代入される。]\n", x);
  36. x = mondai3(i);
  37. printf("x=%d[L:mondai2で12まで行ってるため、+1をして13が代入される。]\n", x);
  38. }
  39.  
  40. printf("x=%d[G:mondai3内で13に更新済。]\n",x);
  41. return 0;
  42. }
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout
x=0[G:初期化]
x=101[G:前行で値101を代入]
x=102[G:前行でmondai1(102)が呼ばれる。]
x=12[G:mondai2が3回呼ばれ、x=cがc++の前で行われているため、xに12が代入される。]
x=103[L:引数103にd++で104が代入される。]
x=104[L:mondai2で12まで行ってるため、+1をして13が代入される。]
x=13[G:mondai3内で13に更新済。]