Почему оператор постдекремента в следующем коде C не работает должным образом? (иметь значение 7). Зная, что это не неопределенное поведение.
#include<stdio.h>
int main()
{
int a = 8, r;
r = (a==8) || (a--);
printf("a = %d\n", a);
return 0;
}