Salut
Une expression prend le type le plus large des opérandes qu'elle manipule
Exemples
- 1 + 1L => un int plus un long => calcul en long
- 1L + 1.0 => un long plus un double => calcul en double
Petit danger: bien se rendre compte que les opérations se font étape par étape et que chaque étape se fait indépendament des autres opérandes.
Exemple: 1.0 + 3 / 2
Première opération: 3/2 (priorité de la division). Cette opératin fait intervenir 2 ints donc le résultat sera en int => 1 (et non 1.5)
Seconde opération: 1.0 + 1 => 2.0
Résultat: malgré la présence d'un double, le résultat n'est pas 2.5 mais 2.0.
Exact. C'est alloué dans la pile et libéré en fin de fonction
Partager