PDA

Visualizza la versione completa : [C++] Operatori di incremento e decremento all'interno di espressioni logiche


gatsu85
08-03-2011, 10:10
Salve ragazzi,
so che può sembrare un argomento banale per molti ma ho alcuni problemi a comprendere una cosa sugli operatori di incremento e decremento, per intenderci i famosissimi ++ e -- .
Premetto che so bene il loro funzionamento base, ovvero quello all'interno di operzazioni di assegnamento, ad esempio:



x = 4;
z = x++;
// in questo momento z vale 4 e x vale 5
z = ++x;
// in questo momento z vale 6 e x vale 6


Ora mi è sorto un dubbio, all'interno di espressioni logiche più "lunghe" come funzionano? Posto un esempio in cui non mi è chiaro il funzionamento:



int x = 0;
if ( x++ == 1)
{}


Nel caso qui sopra entra nel corpo dell'if?
E nel caso qui sotto?



int x = 0;
if ( ++x == 1)
{}


Grazie.

jobv
08-03-2011, 11:13
Ciao,

forse qui trovi qualcosa
http://digilander.libero.it/uzappi/C/C-precedenze.html
Inutile dire che codice di quel tipo sarebbe proprio da non usare...non è leggibile e credo possa portare anche ad errori.

gatsu85
08-03-2011, 11:31
Grazie per la risposta, so che è codice poco leggibile e problematico..Chiedevo proprio per capire perché non l'ho scritto io ma devo capire codice che contiene ste cose.

;)

Loading