根據C89/C90標準,是否可以在for語句的increment子句中插入一段代碼?C89 - for循環增量子句中的代碼塊
例如:的
int x = 0, y;
for (y = 0; x + y < SOME_CONST; { y++; x++; })
{
//code
}
代替:
int x = 0, y;
for (y = 0; x + y < SOME_CONST; x++)
{
y++;
//code
}
我只知道到目前爲止,它不會與Microsoft C/C++編譯器的工作,但到底是什麼標準說?
那麼初始化子句呢?我可以在那裏放一塊代碼嗎?
因此,我可以初始化爲 (x = y = 0 ... ? –
@NahuelPrieto的確可以:'x = y = 0'是一個*表達式opt *,其值爲'0'。 – Bathsheba
I don不認爲有什麼叫做「表達式」。您正在閱讀的語法可能是一個源代碼的錯誤OCR或pdftotext轉換,它將「表達式」與「opt」作爲下標表示它是可選的。我責怪標準人士仍然在21世紀使用死樹格式... –