In C, any non-zero value is regarded as 'true', so when you have an expression such as
if ( x )
there is an implicit
if ( (x) != 0 )
going on.

So the implied inner condition is
int a =...