Conversioni aritmetiche solite in C: qual è la logica alla base di questa particolare regola

StackOverflow https://stackoverflow.com/questions/8937676

  •  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
scroll top