for schleife mit 2 Bedingungen

Gast #1897966
Lesenswert?

Hallo zusammen,

bei der nächsten Schleife:
1
for(i=0, j=0; i<DataSize, j<ArSize; j++, i++)
2
{
3
 ......
4
}

wird die erste Bedingung "i<DataSize" nicht ausgewertet, die Schleife 
wird abgebrochen nur bei j= ArSize.

Weiß jemand was ich da falsch mache?
(Compiler ist microchip C32)
Gast #1897970
Lesenswert?

Smith schrieb:
> Hallo zusammen,
>
> bei der nächsten Schleife:
>
> for(i=0, j=0; i<DataSize, j<ArSize; j++, i++)
> {
>  ......
> }
>
>
> wird die erste Bedingung "i<DataSize" nicht ausgewertet, die Schleife
> wird abgebrochen nur bei j= ArSize.
>
> Weiß jemand was ich da falsch mache?

Du verwendest den Komma-Operator. Der evauliert beide Operanden und gibt 
dann den Wert des rechten zurück. Man kann in einer For-Schleife nicht 
mehrere Bedingungen eintragen. Man kann aber natürlich als Bedinung das 
Ergebnis einer UND-Verknüpfung verwenden:
1
for(i=0, j=0; i<DataSize && j<ArSize; j++, i++)

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