Originally Posted by Prelude
>float c;
double would be a better choice, see below
>c = (5.0/9.0) * (f - 32.0);
The type of the result of an expression is the type of the longest, floatiest operand. Because floating-point constants are double unless suffixed by f or F, your expression results in double and you try to assign it to a float. This warrants a warning because of assignment from a wider type to a narrower type. It would be better to just go with double from the get go, otherwise you need to do this: