After taking the first number 1.0, the program uses a to calculate, and the result is float (because 1.0 is float), and then the result is always float.
A and b are integers, and there is no type conversion. In C, only when C is cast for the last time, the calculations of the first two parts are integers.