#include<stdio.h>
 
// #define abc()  *(f())  // 24行目のabc()++;でコンパイルエラーになる
#define abc()  (*(f()))
 
int *f()
{
    static int d;
    return &d;
}
 
int main()
{
    int i;
 
    abc() = 123;
    i = abc();
    printf("%d\n", i);
 
    abc() = 321;
    i = abc();
    printf("%d\n", i);
 
    abc()++;
    i = abc();
    printf("%d\n", i);
 
    return 0;
}