if (a == 1)
if (b == 3)
printf("\nsomething\n");
else
printf("\nanother something\n");
The indenting indicates that the else clause is intended to go with the first if (if (a == 1) ) but in actuality, it is attached to the second if since C attaches the else to the first if it can find going "backwards"
To "fix it" so that the intended logic is implemented you must use {}
if (a == 1)
{
if (b == 3)
printf("\nsomething\n");
}
else
printf("\nanother something\n");