.
AND (&&). §6.5.13 ( , )
&& ; , . 0, . [...]
,
int a = 1, b = 1, c = -1;
c = --a && b++;
c = 0 && .....; // done..., a is decremented to 0,
// so, LHS of && is 0, RHS is not evaluated,
// b remains 1
// and finally, C gets 0.
, (||) , , , § 6.5.5
[...] || ; , . 0, .
,
int a = 1, b = 1, c = -1;
c = --a || b++;
c = 0 || 1; //yes, b value will be used, and then incremented.
,
printf("%d %d %d", a, b, c);
0 2 1