fork download
  1. #include<stdio.h>
  2.  
  3. // #define abc() *(f()) // 24行目のabc()++;でコンパイルエラーになる
  4. #define abc() (*(f()))
  5.  
  6. int *f()
  7. {
  8. static int d;
  9. return &d;
  10. }
  11.  
  12. int main()
  13. {
  14. int i;
  15.  
  16. abc() = 123;
  17. i = abc();
  18. printf("%d\n", i);
  19.  
  20. abc() = 321;
  21. i = abc();
  22. printf("%d\n", i);
  23.  
  24. abc()++;
  25. i = abc();
  26. printf("%d\n", i);
  27.  
  28. return 0;
  29. }
Success #stdin #stdout 0s 1788KB
stdin
Standard input is empty
stdout
123
321
322