2010-05-27 97 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