Также обычно рекомендуется не использовать «i» после выхода из цикла в большинстве стандартов кодирования, которые я когда-либо читал.В частности, НЕ делайте:
for(i = 0; i < num_elements; i++)
{
if(element[i].id == id)
{
/* Do something to element here. */
break;
}
}
if(i == num_elements)
{
fprintf(stderr, "Failed to find element %d.", id);
succeeded == false;
}
Пока это будет работать, плохое кодирование.Это менее читабельно и ремонтопригодно, чем альтернативы.Например,
succeeded = false;
for(i = 0; i < num_elements; i++)
{
if(element[i].id == id)
{
/* Do something to element here. */
succeeded = true;
break;
}
}
if(false == succeeded)
{
fprintf(stderr, "Failed to find element %d.", id);
}