Bestimmen der Auswertungsreihenfolge des Unterprogrammarguments [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Warum verwenden diese Konstrukte undefiniertes Verhalten vor und nach dem Inkrementieren? 14 answers

Ich schreibe ein Programm in C, das die Reihenfolge festlegt, in der Unterprogrammargumente ausgewertet werden.

Was ich bisher habe ist das folgende:

int i=1;
printf("%d %d %d\n", i++, i++, i);

aber ich bin mir nicht sicher, ob ich auf dem richtigen Weg bin oder ob es einfacher wäre, in einer anderen Sprache wie Ruby zu schreiben.

Wie kann ich ein Programm in C (oder Ruby) schreiben, das die Reihenfolge festlegt, in der Unterprogrammargumente ausgewertet werden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage