[問題] 關於if statement的實作方法

看板C_and_CPP作者 (cybernetics)時間12年前 (2013/05/02 00:09), 編輯推噓5(504)
留言9則, 5人參與, 最新討論串1/2 (看更多)
Hi all. 請問一下,在C語言中下面的寫法: if(A() && B() && C()) { ... } 在我使用的compiler中(uVersion3),只要A()回傳fail, B()和C()就_不會_被執行。 請問一下,在compiler實作中,上述的情況是定義好永遠為真的流程嗎? 或是這取決於各家compiler實作的方式? 又,如果我想確定各個函式是否會被執行,是不是就得避免上述的寫法? 感謝回答。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.189.217

05/02 00:28, , 1F
Short-circuit evaluation :)
05/02 00:28, 1F

05/02 00:34, , 2F
是的 這是標準規定的 關鍵字是樓上推的東西
05/02 00:34, 2F

05/02 02:01, , 3F
一定會
05/02 02:01, 3F

05/02 09:50, , 4F
推這篇 長知識
05/02 09:50, 4F

05/02 13:22, , 5F
跟「&&」比較有關係?
05/02 13:22, 5F

05/02 13:48, , 6F
樓上去查1F的關鍵字就知道了
05/02 13:48, 6F

05/02 13:48, , 7F
那只是簡單的邏輯
05/02 13:48, 7F

05/02 14:13, , 8F
我在說標題
05/02 14:13, 8F

05/02 18:41, , 9F
誤會了
05/02 18:41, 9F
文章代碼(AID): #1HWJv7j3 (C_and_CPP)
文章代碼(AID): #1HWJv7j3 (C_and_CPP)