Conversões aritméticas comuns em C: qual é a lógica por trás dessa regra específica
De k & R C
Primeiro, se um dos operandos for longo duplo, o outro será convertido em longo duplaso contrário, se um dos operandos for duplo, o outro será convertido para o dobraso contrário, se um operando for flutuante, o outro será convertido em flutuant Caso contrário, as promoções integrais são realizadas nos dois operandos; ...Isso significaria abaixo da expressão
char a,b,c;
c=a+b;
é realmente calculado como
c = char((int)a+(int)b);
Qual é a lógica por trás dessa regra?
Essas conversões ocorrem se a, bec são curtos?