Rigà mi son trovato a scrivere questa espressione:
codice:
ni = i / 2 + i / 2 == ni ? 1 : 0;
Che poi NON viene interpretata come io vorrei, cioè:
SE i / 2 è UGUALE A ni ALLORA ni = i / 2 + 1
ALTRIMENTI ni = i / 2
Il compilatore me la interpreta giusta solo se racchiudo l'operatore ternario dentro alle parentesi:
codice:
ni = i / 2 + (i / 2 == ni ? 1 : 0);
Mi spiegate come legge questa espressione il compilatore rispettando le precedenze
se io non metto le parentesi? non conosco bene la precedenza degli operatori... :rollo: