c中的后增量

Rah*_*sai -2 c post-increment

我在下面给出的程序中输出为0..0.为什么在检查条件时j不会增加?

int main(int argc, char const *argv[])
{
    int i=0,j=0;

    if(i&&j++)  
        printf("%d..%d",i++,j);
    printf("%d..%d",i,j);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

cle*_*anc 8

由于i为零,if因此不需要评估后半部分,因此j++永远不会发生.