#include #include double sub(int x) { return x; // conversion to return type } int main(int argc, char *argv[]) { int i = 2.0; // conversion on initialization double d = 2.0; d = i + d; // conversion on operator (+): i -> double i = sub(d); // conversion of argument on call // conversion of result on assignment printf("%d\n", i);// prints 4 return EXIT_SUCCESS; }