Bedingung innerhalb while
-
Könnte jemand mir erklären, was besagt die Bedingung, die sich innerhalb while dieses "c" Codes befindet:
PlNode *nn;
nn = o->effects->sons;
while ( nn &&
(tmp->effects = make_effect( nn, tmp->num_vars )) == NULL ) {
nn = nn->next;
}Bedingung: nn && (tmp->effects = make_effect( nn, tmp->num_vars )) == NULL
Für den ersten Teil der Bedingung: ist while(nn) genauso gleich while(nn==NULL) ?
Ich bedanke mich für jede Erklärung.
-
Nein, while(nn) ist aquvivalent zu while(nn != NULL)
Caipi
-
while und if werden ausgeführt, solange bzw. wenn der bool'sche wert darin(1 oder 0) 1 ergibt. NUR bei 0 wird abgebrochen. alle anderen werte(falls zB. ein int drinsteht) ungleich 0 zählen als wahr sprich 1
-
das && dazwischen heißt das beide Bedingungen wahr sein müssen