C語言裡case後加不加括號問題

2021-10-23 13:58:09 字數 458 閱讀 2196

一般情況要加上break;

case後面必須為整型數字或者字元型別

case後面的語句不需要加大括號,只要別忘了break就行。不過有的程式設計規範上會建議用大括號把case後面的語句括起來。 

你說的「不能通過編譯」,可能是下面這個原因。c/c++裡規定,不能在case語句裡定義區域性變數。例如:

int a = 2;

switch (a)

編譯就會出錯,原因是在case 1裡定義了區域性變數c。 

而c/c++還有乙個很有意思的規定,用{}包括的語句,認為是乙個」語句塊「,而在語句塊裡就能想幹什麼就幹什麼。 

比如:

switch (a)

case 2:

break;

default:

break;

}

這樣就能通過編譯了。

C 建立類物件時(無參)後不加括號與加括號的區別

在不考慮用new動態建立物件的情況下,用最普通的 類名 物件名 引數 的方法建立物件 先貼上最正常最普通的 includeusing namespace std class c c intm private intn int main ok,現在我們看看執行結果 ok,預期地執行了第乙個建構函式。但...

new物件時,類名後加括號與不加括號的區別

預設建構函式 關於預設建構函式,請參見隨筆 類中函式 請看測試 1 include 2 using namespace std 34 空類 5class empty6 89 乙個預設建構函式,乙個自定義建構函式 10class base11 18 base int nvalue 19 2324 pr...

new物件時,類名後加括號與不加括號的區別

include using namespace std 空類 class empty 乙個預設建構函式,乙個自定義建構函式 class base base int nvalue private int m nvalue 乙個復合預設建構函式 class custom private int m nv...