Originariamente inviato da mfran2002
per favore, mi spiegate come si legge l'istruzione return?
I primi due return mi sembrano ovvi ... vengono ritornati due valori costanti.
Il terzo return non è più difficile degli altri, semplicemente nella sua espressione compare quello che è chiamato "operatore condizionale", che ha 3 operandi.

espr1 ? espr2 : espr3

Se espr1 è 'true', allora il risultato di tutta la espressione è espr2, altrimenti è espr3.

Invece di fare:

return p < 42 || p > 50 ? -1 : 9;

si poteva fare (ma in modo più lungo ... ecco la comodità dell'operatore condizionale!):

codice:
if (p < 42 || p > 50)
    return -1;
else
    return 9;