As always, operations are performed in order of precedence.
Operands are promoted as needed so each operation is perfomed between operands of the same type.
Intermediate results during evaluation may be of a lower type than the final expression.
What is displayed by this program:
#include <stdio.h> /* Puzzle E12 -- sneaky intermediate */ int main() { int a = 7; int d = 3; printf("Expression evaluates to: %f\n", a/d + 1.0 ); return 0; }