|
お世話になっております。以下のソースについてずっと考えてみたの
ですが、悲しいことに理解できません。
どなたか御教授くださいますようお願い申しあげます。
int ans, a = 0, b = 0, c = 0, d = 0;
d = ( ( a = 4 ) > 3) && ( ( b = 1 ) == 0 ) && ( ( c = 2 ) == 2);
ans = a + b + c + d;
---------------------------
で、ans = 5,となり変数cが0となります。
d = 真 && 偽 && 真と思い、d = 0でa,b,cにはそれぞれ値が代入される
と思っていたのですが、cにだけ値が入らないのはなぜなのでしょうか?
|