if ステートメントに特定の条件があり、if ステートメント内で別の条件を指定して while ループを使用しています。if ステートメントの条件は反復ごとにテストされますか?
LIST-SEARCH'(L,k)
x=L.nil.next
if x!=L.nil
while x.key!=k
x=x.next
return x
if ステートメントに特定の条件があり、if ステートメント内で別の条件を指定して while ループを使用しています。if ステートメントの条件は反復ごとにテストされますか?
LIST-SEARCH'(L,k)
x=L.nil.next
if x!=L.nil
while x.key!=k
x=x.next
return x
あなたが説明するものが次のような場合:
if(conditionA)
{
while(conditionB)
{
/* ... */
}
}
それから、いいえ。conditionA
は一度だけconditionB
テストされますが、ループの実行ごとにループを再度実行する必要があるかどうかをチェックするためにテストされます。
質問せずにこれらのことを知る方法は、プログラムをデバッガーで実行し、各行の実行をステップ実行することです。if-test 行は 1 回だけヒットするのに対し、while() ループ内のテストは反復ごとにヒットすることに注意してください。ほとんどの IDE には、この機能を備えたデバッガーが含まれているか、gdb などのコマンドライン ユーティリティを使用できます。