int c = someIntegerValue;
// Some code...
int i;
for (i = 0; i < 5, i < c; i++) {
...
}
Il mio compilatore dice error: expression has no effect
, che suona bene. Quindi, quale di questi 2 confronti sarà usato qui? La mia ipotesi è che il i < c
viene ignorato, ma volevo qualche conferma da parte degli altri perché non sono ancora in grado di eseguire questo codice ...Cosa fa questa virgola nella porzione * test * di un ciclo for?
Non è un esperto di C, ma che sembra che sta cercando di fare l'equivalente di 'i <5 && i
Il compilatore ha ragione. 'I <5' qui viene valutato, ma il valore viene gettato via senza essere utilizzato, e non ha effetti collaterali, quindi questo programmatore ha chiaramente frainteso qualcosa. –
Perché il down e il voto ravvicinato? L'operatore virgola non è la cosa più intuitiva al mondo. Mi ha fatto inciampare e ho codificato C per quasi 2 decenni. –