在編寫while循環沒有身體,我看到了這條消息:警告信息的目的?
warning: suggest a space before ';' or explicit braces around empty body in
'while' statement
我爲什麼要加一個空格?是否更清楚地表明我的循環沒有做任何事情?
在編寫while循環沒有身體,我看到了這條消息:警告信息的目的?
warning: suggest a space before ';' or explicit braces around empty body in
'while' statement
我爲什麼要加一個空格?是否更清楚地表明我的循環沒有做任何事情?
是 - 通常情況是把它放在一個行本身,這樣的事情:
while (*d++ = *s++)
;
一些人更喜歡使用了諸如:
while (*d++ = *s++)
{
/* intentionally empty */
}
'/ *這個範圍有意留空白* /' –
是的,只是爲了表明您沒有自動在分支的末尾錯誤地放置分號。
爲什麼要放一個空格?是否更清楚地表明我的循環沒有做任何事情?
是的,正是如此。
許多缺乏經驗的程序員常常把;
像for
或while
流程控制語句後,因爲他們認爲;
去在每行的末尾,而不是僅僅在聲明和宣言的終結。該警告只是爲了讓你更清楚地知道你已經創建了一個空循環。
一個比較明顯的空體循環語法是使用continue
聲明:
while (condition_with_side_effects)
continue;
這樣,沒有人會認爲你不小心添加了一個多餘的;
:
while (condition); // bad style
您可以發佈你的代碼? –
那,你沒有忘記一個「做」。 – Owen
我更喜歡for語句。缺少其中一個部分就像黑板上的釘子。因爲(;;)功能特別強大。 –