为什么以下 C 代码中的 post-decrements 运算符没有按预期工作? (具有 7 的值)

Why post-decrements operator in the following C code is not working as desired? (to have the value of 7)

为什么以下 C 代码中的 post-decrements 运算符不能正常工作? (具有 7 的值)。知道这不是未定义的行为。

#include<stdio.h>
    int main()
    {
    int a = 8, r;
    r = (a==8) || (a--);
    printf("a = %d\n", a);
    return 0;
    }

在表达式 (a==8) || (a--); 中,因为 (a==8) 已经为真,因此不计算 OR 条件的其余部分。