fork download
  1. #include <stdio.h>
  2. int x;
  3. void mondai1(int b){
  4. x = b;
  5. }
  6. void mondai2(void){
  7. static int c =10;
  8. x = c;
  9. c++;
  10. }
  11. int mondai3(int d){
  12. x++;
  13. d++;
  14. return d;
  15. }
  16. int main(void) {
  17. printf("x=%d[G:最初のint xを読み込む。]\n",x);
  18. x = 101;
  19. printf("x =%d[G:前行で値を101を代入した。]\n",x);
  20. mondai1(102);
  21. printf("x = %d[G:前の行で関数mondai1呼び出してxに代入する]\n",x);
  22. mondai2();
  23. mondai2();
  24. mondai2();
  25. printf("x =%d[G:前のmondai2に入り初期は、10が入りそれに伴いc++され11になり、次は11になりc++で12になる最後で12に入るがc++は13になる。それが最後のprintfに入る]\n",x);
  26. for(int i=103;i<104;i++){
  27. int x = i;
  28. printf("x =%d[L:前の行で宣言されたxにiが代入された数\n",x);
  29. x=mondai3(i);
  30. printf("x =%d[L:前の行のmondai3を呼び出して+1された値]\n",x);
  31. }
  32. printf("x =%d[G:最後のmondai2でc++の処理が完了する。]\n",x);
  33. return 0;
  34. }
  35.  
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
x=0[G:最初のint xを読み込む。]
x =101[G:前行で値を101を代入した。]
x = 102[G:前の行で関数mondai1呼び出してxに代入する]
x =12[G:前のmondai2に入り初期は、10が入りそれに伴いc++され11になり、次は11になりc++で12になる最後で12に入るがc++は13になる。それが最後のprintfに入る]
x =103[L:前の行で宣言されたxにiが代入された数
x =104[L:前の行のmondai3を呼び出して+1された値]
x =13[G:最後のmondai2でc++の処理が完了する。]