Make It Double

What does static_cast do in this code?

int a = 7;
int b = 2;
double result = static_cast<double>(a) / b;
A

It has no effect; the compiler already promotes to double automatically in division

B

It reinterprets the bits of the integer as a double, producing a garbage value

C

It performs an explicit type conversion from int to double, so the division produces 3.5 instead of 3

D

It rounds the result of integer division to the nearest double