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

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

發布時間: 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;
}
這樣完全沒問題。而你要是把這對大括弧刪掉,就會出錯。

熱點內容
隨機啟動腳本 發布:2025-07-05 16:10:30 瀏覽:515
微博資料庫設計 發布:2025-07-05 15:30:55 瀏覽:19
linux485 發布:2025-07-05 14:38:28 瀏覽:299
php用的軟體 發布:2025-07-05 14:06:22 瀏覽:750
沒有許可權訪問計算機 發布:2025-07-05 13:29:11 瀏覽:425
javaweb開發教程視頻教程 發布:2025-07-05 13:24:41 瀏覽:684
康師傅控流腳本破解 發布:2025-07-05 13:17:27 瀏覽:233
java的開發流程 發布:2025-07-05 12:45:11 瀏覽:678
怎麼看內存卡配置 發布:2025-07-05 12:29:19 瀏覽:277
訪問學者英文個人簡歷 發布:2025-07-05 12:29:17 瀏覽:828