2017-02-02 9 views

答えて

0

次のように動作する行i = i ++による無限ループです。 (i = 1とする)
1) 'i'は1だけ増加する。(So i = 2)
2)i ++の値、すなわち増分前の値が 'i'に割り当てられる。 (i = 1)

したがって、 'i'の値は変更されません。条件 'i < 10'は決して偽ではないため、無限ループになります。

+0

しかし、それはポストインクリメント演算子であるため、最初に 'i'は1に割り当てられます。次に 'i'は2に増分する必要がありますか? –

+0

@ Viswa Sairaman:インクリメント演算子は代入演算子よりも_precedence_です。したがって、 'i'が1の場合、増分が最初に行われます。これは 'i'が2になり、 'i ++'が1を返し、 'i'に割り当てられて1になります。 –

関連する問題