void printi(int val);

int main()
{
  char val  = 1;
  short sval = 10;
  int size;

  printi(val);

  size = sizeof(!val);        printi(size); /* sizeof(int) */
  size = sizeof(~val);        printi(size); /* sizeof(int) */
  size = sizeof(++val);       printi(size);
  size = sizeof(--val);       printi(size);
  size = sizeof(val++);       printi(size);
  size = sizeof(val--);       printi(size);
  size = sizeof(+val);        printi(size); /* sizeof(int) */
  size = sizeof(-val);        printi(size); /* sizeof(int) */

  size = sizeof((char)val);   printi(size);
  size = sizeof((short)val);  printi(size);
  size = sizeof((int)val);    printi(size);
  size = sizeof(sizeof(val)); printi(size);

  size = sizeof(val + sval); printi(size); /* sizeof(int) */
  size = sizeof(val - sval); printi(size); /* sizeof(int) */
  size = sizeof(val * sval); printi(size); /* sizeof(int) */
  size = sizeof(val / sval); printi(size); /* sizeof(int) */
  size = sizeof(val % sval); printi(size); /* sizeof(int) */

  size = sizeof(val << sval); printi(size); /* sizeof(int) */
  size = sizeof(val >> sval); printi(size); /* sizeof(int) */

  size = sizeof(val <  sval); printi(size); /* sizeof(int) */
  size = sizeof(val <= sval); printi(size); /* sizeof(int) */
  size = sizeof(val >  sval); printi(size); /* sizeof(int) */
  size = sizeof(val >= sval); printi(size); /* sizeof(int) */
  size = sizeof(val == sval); printi(size); /* sizeof(int) */
  size = sizeof(val != sval); printi(size); /* sizeof(int) */

  size = sizeof(val & sval); printi(size); /* sizeof(int) */
  size = sizeof(val ^ sval); printi(size); /* sizeof(int) */
  size = sizeof(val | sval); printi(size); /* sizeof(int) */

  size = sizeof(val && sval); printi(size); /* sizeof(int) */
  size = sizeof(val || sval); printi(size); /* sizeof(int) */

  size = sizeof(val   = sval); printi(size);
  size = sizeof(val  += sval); printi(size);
  size = sizeof(val  -= sval); printi(size);
  size = sizeof(val  *= sval); printi(size);
  size = sizeof(val  /= sval); printi(size);
  size = sizeof(val  %= sval); printi(size);
  size = sizeof(val <<= sval); printi(size);
  size = sizeof(val >>= sval); printi(size);
  size = sizeof(val  &= sval); printi(size);
  size = sizeof(val  ^= sval); printi(size);
  size = sizeof(val  |= sval); printi(size);

  size = sizeof(val ? val : sval); printi(size); /* sizeof(int) */
  size = sizeof(0 ? val : sval); printi(size); /* sizeof(int) */
  size = sizeof(1 ? val : sval); printi(size); /* sizeof(int) */

  size = sizeof(val++, sval++); printi(size);

  return 0;
}
