Conversioni aritmetiche solite in C: qual è la logica alla base di questa particolare regola
-
31-10-2019 - |
Domanda
Da K&R C
- Innanzitutto, se uno dei due operandi è lungo il doppio, l'altro viene convertito in un lungo doppio.
- Altrimenti, se uno dei due operandi è doppio, l'altro viene convertito in doppio.
- Altrimenti, se uno dei due operandi è galleggiante, l'altro viene convertito in galleggiante.
- Altrimenti, le promozioni integrali vengono eseguite su entrambi gli operandi; ...
Ciò significherebbe sotto l'espressione
char a,b,c;
c=a+b;
è effettivamente caculato come
c = char((int)a+(int)b);
Qual è la logica dietro questa regola?
Queste conversioni si verificano se A, B e C erano brevi?
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow