if語句後面的分號

2021-08-03 17:51:31 字數 456 閱讀 3394

if語句後面的分號

關於if-else 語句還有乙個容易出錯的地方就是與空語句的連用。看下面的例子: if(null != p) ; fun(); 

這裡的fun()函式並不是在null != p 的時候被呼叫,而是任何時候都會被呼叫。問題就出在if 語句後面的分號上。在c 語言中,分號預示著一條語句的結尾,但是並不是每條c 語言語句都需要分號作為結束標誌。if 語句的後面並不需要分號,但如果你不小心寫了個分號,編譯器並不會提示出錯。因為編譯器會把這個分號解析成一條空語句。也就是上面的**實際等效於: 

if(null != p)  }

fun(); 

這是初學者很容易犯的錯誤,往往不小心多寫了個分號,導致結果與預想的相差很遠。所以建議在真正需要用空語句時寫成這樣: null; 而不是單用乙個分號。這就好比組合語言裡面的空指令,比如arm 指令中的nop 指令。這樣做可以明顯的區分真正必須的空語句和不小心多寫的分號。

for迴圈後面的分號

include int main return 0 表示本行語句結束,在for後面加上 說明for已經結束,表示不進行任何 的執行,就相當乙個空語句。注意以下語句的分號 1.for i 1 i 4 i 表示可以執行到i 3,注意此時i 4,但不執行。2.for i 1 i 4 i 表示不執行該語句,...

SQL中獲得EXEC後面的sql語句或返回值的方法

sql中獲得exec後面的sql語句或返回值的方法 前言 在資料庫程式開發的過程中,我勱們經常會碰到學習利用exec來執行一段需要返回某些值的sql語句 通常是構造動態sql語句時使用 或者在乙個html儲存過程中利用exec呼叫另乙個html有返回值的儲存過程 必須獲得返回值 那麼如何獲得這些返回...

SQL中獲得EXEC後面的sql語句或返回值的方法

前言 在資料庫程式開發的過程中,我們經常會碰到利用exec來執行一段需要返回某些值的sql語句 通常是構造動態sql語句時使用 或者在乙個儲存過程中利用exec呼叫另乙個有返回值的儲存過程 必須獲得返回值 那麼如何獲得這些返回值呢?1.exec執行sql語句的情況 declare rsql varc...