可以使用if语句来检查while循环吗?

时间:2014-06-24 17:14:29

标签: programming-languages

一些黑客人正在就这个问题进行辩论,我觉得在这里得到了正确的答案

If (condition_c){

While (condition_c){
//code here
}
}

是否有任何案例或情况可以做到这一点?  如果是的话,给出一个可以证明你回答的情况。

2 个答案:

答案 0 :(得分:2)

这可以用于支持IF和WHILE的所有语言,因为您只是简单地构成了两个结构。在有限的情况下,这实际上是有意义的。假设你的IF与你的WHILE之间没有任何其他代码(就像你不在你的例子中那样),这只是一个有意义的原因之一,如果你的病情有副作用。请考虑以下Perl代码片段。

if ($line = <STDIN>) {
    while ($line = <STDIN>) {
        print $line;
    }
}

在这个程序中,IF是有意义的,因为我第二次比较输入缓冲区的状态是不同的。例如,如果我想打印出逗号分隔值文件的所有行但删除标题(第一行),则此代码段可能很有用。

现在你可能会告诉我,这可以通过不将第一个读取放在IF中来更好地编写,但也许我想要在那个IF上添加ELSE。总是有不止一种写东西的方式所以记住这一点。

总之,在条件有副作用的情况下,这段代码有意义地不同。其他例子可能是&#34; $ x-- == 0&#34;或&#34; f(x)&#34;其中f有一些副作用。如果它只是一个普通的布尔值,那么没有。

答案 1 :(得分:0)

在大多数支持此类构造的编程语言中几乎可以肯定。它们不太可能对它们有用。