fork download
  1. #include <stdio.h>
  2.  
  3. int x;
  4.  
  5. void mondai1(int b){
  6. x = b;
  7. }
  8.  
  9. void mondai2(void){
  10. static int c = 10;
  11. x = c;
  12. c++;
  13. }
  14.  
  15. int mondai3(int d){
  16. x++;
  17. d++;
  18. return d;
  19. }
  20.  
  21. int main(void){
  22. printf("x=%d(GS(xが初期値より)3行目\n", x);
  23. x = 101;
  24. printf("x=%d(GS(X=101を代入した23行目\n", x);
  25. mondai1(102);
  26. printf("x=%d(GS mondai 1でグローバル関数にxに102を代入したため。25行目\n", x);
  27.  
  28. mondai2();
  29. mondai2();
  30. mondai2();
  31. printf("x=%d LS(static変数cが10,11,12と変化していき最終的にxへ代入されたから)30行目\n", x);
  32.  
  33. for(int i = 103; i < 104; i++){
  34. int x = i;
  35. printf("x=%d LA(for文の中のiを代入 34行目\n", x);
  36. x = mondai3(i);
  37. printf("x=%d LA(mondai3 戻り値で戻ってきたdを代入して104となった\n 36行目", x);
  38. }
  39.  
  40. printf("x=%d GS(mondai3 でグローバルxに1がたされた\n", x);
  41. return 0;
  42. }
  43.  
Success #stdin #stdout 0s 5316KB
stdin
Standard input is empty
stdout
x=0(GS(xが初期値より)3行目
x=101(GS(X=101を代入した23行目
x=102(GS mondai 1でグローバル関数にxに102を代入したため。25行目
x=12 LS(static変数cが10,11,12と変化していき最終的にxへ代入されたから)30行目
x=103 LA(for文の中のiを代入 34行目
x=104 LA(mondai3 戻り値で戻ってきたdを代入して104となった
 36行目x=13 GS(mondai3 でグローバルxに1がたされた