如果语句后跟循环
问题描述:
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行只有一次命中,而while()循环中的测试在每次迭代时都被命中。大多数IDE包含具有此功能的调试器,或者您可以使用像gdb这样的命令行实用程序。
你可以发布你的代码而不是描述它吗?举个例子,我会发现协助更容易。 – hmjd 2012-08-09 13:03:44
这不是C .. – hmjd 2012-08-09 13:11:33
是的,我知道,我只是给你一个伪代码。 – 2012-08-09 13:12:20