fork download
  1. #include <stdio.h>
  2.  
  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. printf("x=%d [G:2行目で初期化した値]\n",x);
  19. x=101;
  20. printf("x=%d [L:前行で値101を代入]\n",x);
  21. mondai1(102);
  22. printf("x=%d [L:前行で関数mondai1に102を代入して1回呼び出して戻り値を代入,戻り値は実引数x]\n",x);
  23. mondai2();
  24. mondai2();
  25. mondai2();
  26. printf("x=%d [L:前3行で関数mondai2を3回呼び出して戻り値を代入,先にcをxに代入してからcを+1するので戻り値は実引数xに2回+1]\n",x);
  27. for(int i=103;i<104;i++){
  28. int x=i;
  29. printf("x=%d [L:前行で値103を代入]\n",x);
  30. x=mondai3(i);
  31. printf("x=%d [L:前行で関数mondai3を1回呼び出して戻り値を代入,戻り値は実引数xに1回+1]\n",x);
  32. }
  33. printf("x=%d [L:29行目で関数mondai3を1回呼び出して,xの値を+1]\n",x);
  34. return 0;
  35. }
  36.  
  37.  
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
x=0 [G:2行目で初期化した値]
x=101 [L:前行で値101を代入]
x=102 [L:前行で関数mondai1に102を代入して1回呼び出して戻り値を代入,戻り値は実引数x]
x=12 [L:前3行で関数mondai2を3回呼び出して戻り値を代入,先にcをxに代入してからcを+1するので戻り値は実引数xに2回+1]
x=103 [L:前行で値103を代入]
x=104 [L:前行で関数mondai3を1回呼び出して戻り値を代入,戻り値は実引数xに1回+1]
x=13 [L:29行目で関数mondai3を1回呼び出して,xの値を+1]