What is the output of this C code?
void main()
{
int x = 0;
if (x = 0)
printf("Its zero\n");
else
printf("Its not zero\n");
}
Answer: A
Correct answer: Its not zero
if (x = 0) uses the assignment operator, not ==. It assigns 0 to x, and the value of the assignment expression is that same 0, which is false. So the else branch runs and it prints Its not zero - the classic typo that compilers now warn about.
Please log in or register to report this question.