次のコードが で何をしているのか理解できませんs
:
if(!s--)
s
ですint
実際、それは誤解を招くものです。
あなたがテストしているs
のは 0 とは異なります (with if (!s)
)。その後、結果がどうであれ、それを減らしています。
つまり、2 つの異なる操作です。このように書くことができます:
if (!s)
{
s--;
//...
}
else
{
s--;
}
!
negation
演算子と呼ばれます。論理演算子です。
こちらのウィキペディアのエントリを参照してください。
if(!s--)
実行する順番
s
is0
か notの値をチェックします。s
isの場合0
、if
条件は [オペレーターのおかげで!
] 成功、そうでない場合は失敗です。 s
1単位減分します。if
、実行を続行します [if
条件付きのコード、または次のコード ブロック]。