2010-05-27 54 views
0

是否有可能通过创建布尔查询(例如库目录或谷歌搜索)引发无限循环?布尔无限循环可能吗?

+2

John,你是什么意思的布尔查询?你的意思是像SQL数据库中的选择操作,每个记录匹配或不匹配? – WhirlWind 2010-05-27 02:24:38

回答

0

我不确定你的意思是“布尔查询”(这是一个相当广泛的术语),但如果你只是简单地说,任何语言的任何表达式评估为真或假,那么我' d必须说是。

我的意思是,那这样的伪代码:

bool x = this() OR that() 

function this() 
    return that() 

function that() 
    return this() 

也就是说,无限递归永远是可能的,如果方法调用都参与其中,承担无限递归方法是一个潜力在有问题的编程语言。

或者那不是你的意思?

0

我能想到的无限循环的唯一常见情况是而不是可能的情况是,您的语言包含一系列指令,并且一旦您执行了指令,就不可能执行先前的指令(或重复当前的)。这可能是SQL在每行的基础上做这种事情,所以无限循环是不可能的。

+0

不是'标准'SQL,但请注意(MS)SQL-Server提供'while':http://stackoverflow.com/questions/2456330/how-to-organize-infinite-while-loop-in-sql-server – ChristopheD 2010-05-27 06:17:31