Auswertreihenfolge von Funktions-Parametern

Gast #972166
Lesenswert?

Hi C-Gurus,

Ist das Ergebnis von folgendem C-Code definiert oder undefiniert?
1
int Next(void)
2
{
3
    static int i=0;
4
    i++;
5
    return i;
6
}
7

8
void Print(int i1,int i2, int i3)
9
{
10
    printf("%d %d %d\r\n",i1,i2,i3);
11
}
12

13
void main(void)
14
{
15
    Print(Next(),Next(),Next());
16
}

Sprich, gibt es eine Vorgabe, in welcher Reihenfolge C die Parameter 
verarbeitet/errechnet? Intuitiv würde man sagen, die Ausgabe lautet: 1 2 
3

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren