ハン先生はこう言いました:
<script type=text/javascript>
var a = 3;
var b = 4;
## var c = 1;if ( a < b && --c && a){window.alert("OK")}window.alert(c) // c = 0window.alert(a) // a =3「--c」を変更した場合このとき、c の値も 0 になります。a の値が 4 になるのはなぜですか? 先生方全員に答えていただければ幸いです。ありがとうございます!一切近乎完美2018-03-28 15:24:52
--c が最初に計算され、次に c に割り当てられます。つまり、最初に殺し、後で報告します。皇帝はまだ知らず、まだ死んでいないと考えているため、c は元の c のままです。報告して初めて自分がすでに死んでいることを知り、この時点でcが1減りました。
そして、c--は減算後のcに割り当てられます。このとき、cは1つ減っていました。つまり、皇帝が個人的に処刑を監督したことになります。
一生何求2018-03-26 21:13:25
--C++の場合、式の左辺はfalseで、右辺の++aは演算を実行しないため、aの値は3のままです
C++の場合、式の左辺はtrue、したがって、右辺の ++a はまだ演算を実行する必要があるため、a の値は 4 になります
正歌2018-03-26 19:48:14
<script type=text/javascript>
var a = 3;
var b = 4;
var c = 1;
if ( a < b && c-- && ++a);/ /このとき、c の値も 0 であり、これも false であるはずです。++a は計算されないはずなので、a の値は 3 のままであるはずです。なぜ計算されるのでしょうか。
{
window.alert("OK")
}
window.alert(c) // c = 0
window.alert(a) // a =3