﻿


#include <stdio.h>


int main()
{

  int x = 1;
                     // Sicher ist hier nur, dass x nach der Auswertung der if
                     // Bedingung zweimal inkrementiert wurde. Wann die
                     // Inkrements durchgeführt werden (z.B. ob der erste vor
                     // dem == drankommt oder doch erst danach) ist nicht
  if (x++ == x++)    // definiert. Das Verhalten dieses Programms ist damit
    printf("test");  // undefiniert.
                     // Die Moral von der Geschicht: Aufpassen wenn mehrere
                     // Inkrements/Dekrements im selben Ausdruck vorkommen. Es
                     // ist sehr leich möglich das man es mit undefiniertem
                     // Verhalten zu tun hat...
  return 0;
}
