2016-02-15 2 views
-9

я только что нашел этот кусок кода в программном проекте меня интересует, и я не совсем понимаю, что это для цикла делает:Что это за цикл, и может написать его по-другому?

for (; *szMask; ++szMask, ++pData, ++bMask)

Это те определения используемых переменных :

const BYTE* pData, const BYTE* bMask, const char* szMask

можете ли вы объяснить мне, что этот цикл делает, и если есть другие способы я могу написать это для цикла с тем же результатом?

+0

Этот цикл эквивалентен while (* szMask) {++ szMask, ++ pData, ++ bMask} – Untitled123

+0

Я могу понять нижние горизонты, но может кто-то объяснить, что вы должны делать, если у вас есть это вопрос? – Untitled123

+3

@ Untitled123 Вы садитесь с ручкой и бумагой и пройдитесь по инструкциям один за другим. – user4581301

ответ

1
for (; *szMask; ++szMask, ++pData, ++bMask) 
{ 
    /* other stuff */ 
} 

эквивалентно:

while(*szMask) 
{ 
    /* other stuff */ 
    ++szMask, ++pData, ++bMask; 
} 

что эквивалентно:

while(*szMask) 
{ 
    /* other stuff */ 
    ++szMask; 
    ++pData; 
    ++bMask; 
} 

Это все, что может быть выведено из вашего вопроса, так что надеюсь, вы можете понять, что это за время цикл делает.

+2

Почему это было ниспроверено ??????? – Untitled123

+2

Я думаю, что люди голосуют за все, что связано с этим вопросом. – fanton

+1

Это заставляет людей просто не отвечать на плохие вопросы, даже если они готовы помочь ... – Untitled123

Смежные вопросы