这个的运行结果为什么是5而不是6呢

#include <stdio.h>
main()
{
int a=2,b=-6,c=5,d;
if(a<b)
if(b<0)
c=0;
else
c++;
printf("%d",c);
return 0;

}


#include <stdio.h>
int main()
{
    int a = 2, b = -6, c = 5, d;
    if (a < b)
        if (b < 0)
            c = 0;
        else
            c++;
    printf("%d", c);
    return 0;

}

第2个if_else是第一个if里面的

else会自动找离他最近的if组成if-else语句,如果你需要达到c=6的效果的话,需要在将第二个if语句块放在一个{}中