if else用法if进行后else还进行了

为什么我if判断完闰年之后。和他对应的else,还是进行了。

#include 
#include 
int main()
{
    int a, b, c;
    /*scanf("%d-%d-%d", &a, &b, &c);*/
    a = 2000; b = 12; c = 30;
    if ((a % 4 == 0 && a % 100 != 0) || (a % 400 == 0))//是闰年
    {
        if (b == 1 || b == 3 || b == 5 || b == 7 || b == 8 || b == 10 || b == 12)
        {
            if (c + 5 <= 31)//未超过本月份天数
            {
                c += 5;
            }
            else//超过本月份天数
            {
                b += 1;
                if (b > 12)
                {
                    a += 1;
                    b = 1;
                }
                c = 5 - (31 - c);
            }
        }
        if (b == 2)
        {
            if (c + 5 <= 29)//未
            {
                c += 5;
            }
            else//超
            {
                b += 1;
                c = 5 - (29 - c);
            }
        }
        else
        {
            if (c + 5 <= 30)//未
            {
                c += 5;
            }
            else//超
            {
                b += 1;
                c = 5 - (30 - c);
            }
        }
    }
    
    else//不是闰年
    {
        if (b==1||b==3||b==5||b==7||b==8||b==10||b==12)
        {
            if (c + 5 <= 31)//未超过本月份天数
            {
                c += 5;
            }
            else//超过本月份天数
            {
                b += 1;
                if (b>12)
                {
                    a += 1;
                    b = 1;
            
                }
                    c = 5 - (31 - c);
            }
        }
        if(b==2)
        {
            if (c + 5 <= 28)//未
            {
                c += 5;
            }
            else//超
            {
                b += 1;
                c = 5 - (28 - c);
            }
        }
        else
        {
            if (c + 5 <= 30)//未
            {
                c += 5;
            }
            else//超
            {
                b += 1;
                c = 5 - (30 - c);
            }
        }
    }
    printf("%d年%d月%d日", a, b, c);
    return 0;
}

那个没有运行吧

只要 if(){}else{} 括号对应正确,执行if里边之后就不会再执行else的代码呀

打断点,单步调试