標題有點模糊,因爲我真的不知道如何定義這個問題。這個C語句的順序是否定義良好?
它做下面的代碼:
for (match = root,
m_matchBase = match->requestedBase,
m_matchLength = match->length;
match != NULL;
match = match->next,
m_matchBase = match->requestedBase,
m_matchLength = match->length)
{
if (m_matchBase <= m_base && m_matchBase + m_matchLength > m_base)
break;
// other stuff...
}
是語句for循環保證按順序運行?
例如,m_matchBase = match->requestedBase
保證在match = match->next
之後運行?
是的,這是保證,[進一步的信息](http://stackoverflow.com/questions/54142/how-does-the-comma-operator-work) –
http://stackoverflow.com/questions/52550/what -does-the-operator-do-in-c#52558 – clcto
這是C還是C++?選一個。既然你在標題中只提到了「C」,現在我將假設你的意思是你所說的,並且我會適當地編輯你的標籤。 –