What is the output of this C code?
int main()
{
int a = 20;
double b = 15.6;
int c;
c = a + b;
printf("%d", c);
}
Answer: A
Correct answer: 35
a + b promotes the int to double, giving \(20 + 15.6 = 35.6\). Assigning that to an int truncates toward zero rather than rounding, so c becomes 35. Rounding would have given 36 - the distractor.
Please log in or register to report this question.