當前位置:首頁 » 編程軟體 » 函數不加括弧能編譯通過嗎

函數不加括弧能編譯通過嗎

發布時間: 2022-12-14 04:32:24

㈠ if後單條語句不加花括弧,不能通過編譯,為什麼

問題在 f 前面的 FILE,說明了是一個類型變數的定義或者說聲明語句的語法,這只能是存在於函數外或者語句塊內。加了花括弧就是語句塊,注意是個塊。而沒有這對花括弧就只是單一一個語句而已,沒有人能明白這個 f 聲明了要放在什麼地方了。

㈡ case後面的語句不加大括弧為什麼有時候能編譯通過,有時候不能

case後面的語句不需要加大括弧,只要別忘了break就行。不過有的編程規范上會建議用大括弧把case後面的語句括起來。
你說的「不能通過編譯」,可能是下面這個原因。C/C++里規定,不能在case語句里定義局部變數。例如:

int a = 2;

switch (a)
{
case 1:
int c = 10;
break;

case 2:
break;

default:
break;
}
編譯就會出錯,原因是在case 1里定義了局部變數c。
而C/C++還有一個很有意思的規定,用{}包括的語句,認為是一個」語句塊「,而在語句塊里就能想干什麼就干什麼。
比如:
switch (a)
{
case 1:
{
int c = 10;
break;
}

case 2:
break;

default:
break;
}
這樣就能通過編譯了。
再多說兩句廢話。C/C++里這個用{}括起來的語句塊,可以認為是一段完全獨立的代碼。比如:
int a = 2;

{
int a = 3;
}
這樣完全沒問題。而你要是把這對大括弧刪掉,就會出錯。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:705
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:969
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:677
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:830
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:737
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1076
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:308
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:188
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:875
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:829