void printi(int val);
void printstr(char *str);

int main()
{
  char *p0 = "ABCDE";
  char *p1 = "ABCDE";
  int size;

  printstr(p0);

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

  size = sizeof((long)p0);   printi(size);
  size = sizeof(sizeof(p0)); printi(size);

  size = sizeof(p0 + 1); printi(size);
  size = sizeof(p0 - 1); printi(size);
  size = sizeof(p0 - p1); printi(size); /* sizeof(long) */

  size = sizeof(p0 <  p1); printi(size); /* sizeof(int) */
  size = sizeof(p0 <= p1); printi(size); /* sizeof(int) */
  size = sizeof(p0 >  p1); printi(size); /* sizeof(int) */
  size = sizeof(p0 >= p1); printi(size); /* sizeof(int) */
  size = sizeof(p0 == p1); printi(size); /* sizeof(int) */
  size = sizeof(p0 != p1); printi(size); /* sizeof(int) */

  size = sizeof(p0 && p1); printi(size); /* sizeof(int) */
  size = sizeof(p0 || p1); printi(size); /* sizeof(int) */

  size = sizeof(p0  = p1); printi(size);
  size = sizeof(p0 +=  1); printi(size);
  size = sizeof(p0 -=  1); printi(size);

  size = sizeof(p0 ? p0 : p1); printi(size);
  size = sizeof(0 ? p0 : p1); printi(size);
  size = sizeof(1 ? p0 : p1); printi(size);

  size = sizeof(p0++, p1++); printi(size);

  return 0;
}
