В данном конкретном случае это так.
После приведения у вас есть int
и float
в качестве операндов оператора /
.В этот момент применяются обычные арифметические преобразования , и значение y
преобразуется в тип с плавающей запятой, поэтому оба операнда имеют общий тип.
Не было бы неявного преобразования, если, например,тип y
был плавающим, так как оба операнда /
имели бы одинаковый тип.