-1
なぜこのコードの出力はcount==4
を表示しませんか? operator--
はoperator!
よりも優先されます。彼らは両方の接頭辞で、とにかく別の部分式に適用されるよう--
と!
の演算子!()とif条件の演算子 - ()
int main()
{
int found = 0, count = 5;
if (!found || --count == 0)
cout << "danger" << endl;
cout << "count=" << count<< endl;
}
[短絡評価](https://en.wikipedia.org/wiki/Short-circuit_evaluation) –
式には他の演算子があります。 '!|'は短絡評価をします(つまり、 '!found'が最初に評価され、' --count == 0'が唯一評価されるので) '! 'と' --'の相対的な優先順位は関係ありません'!found'が非ゼロであるかどうか評価されます)。 – Peter
私は短絡について知っていますが、プレフィックスを最優先に先に減らさないのですか?私は最初に数を4に減らしてから条件をチェックすべきではないのですか? –