c中的逻辑运算和预增量

yas*_*sin 3 c logical-operators pre-increment

任何人都可以解释为什么c在执行后仍然等于15

int main(void)
{
    int t,a=5,b=10,c=15;
        t= ++a||++c;
        printf("%d  %d  %d",t,a,c);
}
Run Code Online (Sandbox Code Playgroud)

dbu*_*ush 12

逻辑或运算符||是短路运算符.如果左侧计算为真值布尔值(即非0),则右侧不执行.

类似地,对于逻辑和运算符&&,如果左侧是假(即0),则右侧不执行.