#include
int main()
{
int x = 0;
if (x++)
printf(\"true\\n\");
else if (x == 1)
printf(
In C, 0
is treated as false
. In x++
, the value of x
, i.e, 0
is used in the expression and it becomes
if(0) // It is false
printf("true\n");
The body of if
doesn't get executed. After that x
is now 1
. Now the condition in else if
, i.e, x == 1
is checked. since x
is 1
, this condition evaluates to true
and hence its body gets executed and prints "false"
.