int Int;

char Char;

short Short;

float Float

Int = Short + Char + Float;

promotions go first, resulting in the following conversions:

     (int) Short + (int) Char;

the sum of Short and Char as well as the Float variable will be converted to double, that is:

(double) ((int) Short + (int) Char) + (double) Float);

السؤال هنا : لماذا تم التحويل إلى ( دوبل ) مع أنه لايوجد أي قيمة من هذا النوع في التعبير؟