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;G何も宣言されていなく、0で初期化\n", x);
  23. x = 101;
  24. printf("x = %d;G,xを代入された上記の101が\n", x);
  25. mondai1(102);
  26. printf("x = %d;G,102に代入されたmondai関数によって\n", x);
  27. mondai2();
  28. mondai2();
  29. mondai2();
  30. printf("x = %d;,G最初10だったが上に3回宣言されているから10,11,12となり12が出てくる\n", x);
  31. for (int i = 103; i<104; i++) {
  32. int x = i;
  33. printf("x = %d;L,for文内でi=103となっていてそれがxに置き換わっている\n", x);
  34. x = mondai3(i);
  35. printf("x = %d;L,103からmondai関数によって1増加し104に\n", x);
  36. }
  37. printf("x = %d;G,グローバル変数が12だったが、1増加して13に\n", x);
  38. return 0;
  39. }
Success #stdin #stdout 0s 5324KB
stdin
Standard input is empty
stdout
x = 0;G何も宣言されていなく、0で初期化
x = 101;G,xを代入された上記の101が
x = 102;G,102に代入されたmondai関数によって
x = 12;,G最初10だったが上に3回宣言されているから10,11,12となり12が出てくる
x = 103;L,for文内でi=103となっていてそれがxに置き換わっている
x = 104;L,103からmondai関数によって1増加し104に
x = 13;G,グローバル変数が12だったが、1増加して13に