appunti3s:operazioni_su_int
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | appunti3s:operazioni_su_int [2020/06/08 22:19] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Operazioni su int ====== | ||
+ | Le classiche operazioni aritmetiche hanno un preciso ordine di precedenza. In questo elenco quelle più in in alto hanno precedenza maggiore, mentre quelle che si trovano sulla stessa riga hanno lo stesso ordine di precedenza: | ||
+ | |||
+ | * negazione, incremento e decremento: < | ||
+ | * aritmetici < | ||
+ | * aritmetici < | ||
+ | * confronto < | ||
+ | * logici < | ||
+ | * logici < | ||
+ | * assegnazione < | ||
+ | |||
+ | ===== Incremento ===== | ||
+ | L' | ||
+ | |||
+ | <code cpp incremento.cpp> | ||
+ | #include < | ||
+ | int main() | ||
+ | { | ||
+ | int a=0, b=0, x=100; | ||
+ | a = ++x; // prima incrementa x, poi esegue l' | ||
+ | // x vale 101, a vale 101 | ||
+ | | ||
+ | |||
+ | b = x++; // prima esegue l' | ||
+ | // x vale 102, b vale 101 | ||
+ | | ||
+ | | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Questi effetti " | ||
+ | < | ||
+ | |||
+ | ==== La verità ==== | ||
+ | In realtà, anche se i commenti nel precedente programma sembrano spiegare correttamente il risultato che si ottiene | ||
+ | |||
+ | Per sapere cosa accade veramente bisogna conoscere il significato di //valore restituito// | ||
+ | Anche l' | ||
+ | |||
+ | Quando si dice che l' | ||
+ | - < | ||
+ | - x++ viene valutato | ||
+ | - dentro x viene memorizzato 102 | ||
+ | - x++ restituisce 101, come se fosse sostituito da 101... | ||
+ | - < | ||
+ | |||
+ | Viceversa l' | ||
+ | |||
appunti3s/operazioni_su_int.txt · Last modified: 2020/06/08 22:19 by 127.0.0.1