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
只测试一次,whileconditionB
被测试以检查是否应该为每个循环运行再次执行循环。
无需询问即可了解这些事情的方法是通过调试器运行程序并逐步执行每一行。您应该注意到 if-test 行只被命中一次,而 while() 循环中的测试在每次迭代时都会被命中。大多数 IDE 都包含具有此功能的调试器,或者您可以使用 gdb 等命令行实用程序。