c语言 为啥最终结果是-1,for循环没有执行

int main() {
    int a, i;
    for (a = 1, i = -1; -1 <= i < 1; i++) {
        a++;
        printf("%2d\n", a);
    }
    printf("%2d", i);
    return 0;
}

分析如下: 

int main()
{
    int a, i;
    //问题在 -1 <= i < 1  按先左后右原则计算  -1<=i 为真 也就是 (-1<=i) 的值等于 1
    //再计算 1<1 为假,不执行循环
    for (a = 1, i = -1; -1 <= i < 1; i++)  
    {
        a++;
        printf("%2d\n", a);
    }
    printf("%2d", i);
    return 0;
}

 

因为i的初始值就是-1,根本就进不了循环,所以还是初始值-1

-1 <= i < 1的结果为假,-1<=i返回真为1,1<1为假,所以进不了循环。