Una consulta a todos, para muchos están mal visto los breaks y continue,
(aunque la mayoría coincidimos que si son innecesarios los go to) pero yo siempre uso los continue o break para sentencias como estas:
Codigo A
Código C:
Ver original...
...
for (int i=0: i < max; i++)
{
if (myArray[i] != VALOR_DESEADO)
continue;
//Todo lo que se vaya a ejecutar en el bucle.
}
...
Uso siempre la "técnica" de arriba en vez de esta:
Codigo B
Código C:
Ver original...
...
for (int i=0: i < max; i++)
{
if (myArray[i] == VALOR_DESEADO)
{
//Todo lo que se vaya a ejecutar en el bucle.
}
}
...
...
Similar con break, por ejemplo deseo encontrar un valor especifico en el array, que se ejecute cierto codigo una unica vez y terminar con el bucle.
Codigo C
Código C:
Ver original...
...
for (int i=0: i < max; i++)
{
if (condicion especifica)
{
//Todo lo que se vaya a ejecutar en el bucle, una sola vez.
break;
}
}
...
...
Uso siempre la sentencia
Codigo D
Código C:
Ver original...
...
for (int i=0: i < max; i++)
{
if (condicion especifica)
{
//Todo lo que se vaya a ejecutar en el bucle, una sola vez.
i=max;
}
}
...
...
Ahora la pregunta para todos es, Entre Codigo A y Codigo B, ¿Cual es la mejor manera de escribir el codigo?, lo mismo con Codigo C y Codigo D
PD: Aclaro que este post esta en el foro de C como podría estar en cualquier otro lugar, tal vez el mejor lugar era la sección
(si es que hay) de algoritmos o programación estructurada en general del foro. De hecho hace ya tiempo no toco código en C.