Вы правы: от компилятора, который действителен: double a5 = 10
.
Компилятор расширяет int
, чтобы сохранить его как double
без каких-либо побочных эффектов, поскольку double может содержать любое значение int.
Я думаю, что вопрос и ожидаемые ответы вводят в заблуждение.
Вопрос должен скорее относиться к наиболее адаптированному типу для хранения значения.
И в этом случае, ответ e) является неправильным, поскольку он использует тип, намного больший, чем требуется, который потребляет память дляне веские причины.int
или даже short
достаточно.