if與else的配對問題

2021-09-30 08:54:55 字數 470 閱讀 9865

下面幾個程式:

程式1:

#include

int main(void)

程式2:

#include

int main(void)

程式3:

#include

int main(void)

getchar(); 

}程式4:

#include

int main(void)

//編譯不通過,expected primary-expression before "else" 。

else printf("the 2 call");

getchar(); 

}程式5:

#include

int main(void)

總結:1.if與else一般是就近原則。棧的原理。

2.為了避免這種情況,一般要求if else後面強制加{};

懸掛else引發的問題

cpp view plain copy include intmain 程式的本意是 若x 0,則進行判斷y是否等於0 若x!0,則輸出x 0。所以當x 0,y 1時,程式應該不輸出任何東西。但是執行結果為 x 0 導致這個問題的原因是 else始終與同一括號內最近的未匹配的if結合。要想實現程式的...

演算法 筆桿與筆帽配對問題

題目描述 有n個筆,由筆桿和筆帽組成,每根筆的筆桿和筆帽都不同,現將筆桿和筆帽全部拆散,筆桿與筆桿不能比較,筆帽與筆帽也不能比較,筆桿和筆帽可以進行配對,每次配對都可以知道筆桿對應的筆帽大了或是小了或是剛剛好。如何將這n個筆桿和n個筆帽重新全部配對。解題思路 用n 2的複雜度可以將n個筆桿和n個筆帽...

Python 中的迴圈與 else

python 中的迴圈與 else 有以下兩種形式 python中的 for while 迴圈都有乙個可選 optional 的 else 分支 類似 if語句和 try 語句那樣 在迴圈迭代正常完成之後執行。所謂迴圈迭代正常完成,一般是指 所需要迭代處理的物件遍歷完畢,且中間沒有異常發生 注 縱然...