{
int i = 1;
if (i++ && (i == 1))
printf("Yes\n");
else
printf("No\n");
}
В соответствии с моим пониманием, в if
, сначала будет вычисляться выражение (i==1
), которое должно возвращать 1
, а затем оно логически связано с 1
, которое является значением i
> , поэтому выражение должно возвращать 1 && 1 == 1
, но выполняется else
.
Может кто-нибудь объяснить, почему выполняется else
часть?