求解,程序为什么到一半就停止了?

为什么程序进行到一半就停止了,还没一个数到400万,不应该还可以继续吗?


#include<stdio.h>
int main()
{
    int a, b, c, sum;
    a = 1, b = 2, c = 0, sum = 1;
Q:        while ((c < a || c < b)&&b<4000000)
        {
            if(c!=0)
            printf("c=%d\n", c);
            c = a + b;
            if(c%2==0)
            sum = sum + c;
            if ((a < b || a < c)&&c<4000000)
            {
                printf("a=%d\n", a);
                a = b + c;
                if(a%2==0)
                sum = sum + a;
                if ((b < a || b < c)&&a<4000000)
                {
                    printf("b=%d\n", b);
                    b = a + c;
                    if(b%2==0)
                    sum = sum + b;
                    goto Q;
                }
            }
        }
    printf("sum=%d", sum);
    return 0;
}

尽量别用goto语句

goto改为continue