int main() {
    struct s { int i; } x, *p = &x;
    int i = 3;

    // operators

    ! i;
    ~i;
    +i;
    -i;
    *p;
    ++p;
    --p;
    p++;
    p--;

    i+i;
    i-i;
    i*i;

    i/i;
    i%i;
    i^i;
    i&i;
    i|i;
    i<i;
    i>i;
    i=i;

    i==i;
    i!=i;
    i<<i;
    i>>i;
    i<=i;
    i>=i;
    i&&i;
    i||i;
    p->i;
    i*=i;
    i/=i;
    i%=i;
    i+=i;
    i-=i;
    i&=i;
    i|=i;
    i^=i;
    i<<=i;
    i>>=i;

    i?i:i;
} // main
