void printi(int val);

int main()
{
  short val = 1;
  int size;

  printi(val);

  size = sizeof val;
  printi(size);

  size = sizeof &val;
  printi(size);

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

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

  /*
   * "sizeof val & val" is "(sizeof(val)) & val",
   * not "sizeof(val & val)".
   */
  size = sizeof val & val;
  printi(size);
  size = sizeof (val) & val;
  printi(size);
  size = (sizeof(val)) & val;
  printi(size);
  size = sizeof(val & val);
  printi(size);

  /*
   * "sizeof (int) - val" is "(sizeof(int)) - (val)",
   * not "sizeof((int)(-val))".
   */
  size = sizeof (int) - val;
  printi(size);
  size = (sizeof(int)) - (val);
  printi(size);
  size = sizeof((int)(-val));
  printi(size);

  return 0;
}
