Cuestion sobre uso de break, continue....

Ysinotelodigo
18 de Diciembre del 2009
Hola!

Estoy estudiando ingenieria informatica y me ha surgido una duda sobre el uso de break, continue, exit(-1).... Y es que estoy haciendo una practica en C, y mirando las normas de entrega indican que no se debe de usar break, continue, exit(-1) dentro de cuerpos del bucle...

Y en mi programa nada mas iniciarse dentro de la función main(argv.....)
Compruebo que el numero de paramentros es válido y si no lo es muestro un error y hago un return(-1).... y la cuestión es que me parece que es una manera colocada de hacer las cosas pero me ha surgido la duda con lo del exit(-1), break y continue que la razón por la que no se hacen es para que cuando alguen mire el código no se pierda porque esas acciones son coplicadas de ir enteidido cuadno u o se lee el código.... el caso es....

En mi programa como quedaría mas correcot

Como lo tneog:

int main(....)

if(argv<3)
return -1;

(codigo)

return 0;


ó De otr manera

main(....)

if (argv >2){
codigo
retunr0;
}
else{
printf....eroor
reutn -a;
}}

Capitan Kirk
18 de Diciembre del 2009
El empleo de break y continue es para evitar sentencias if muy grandes o complicadas. Es decir, si en un bucle alcanzo una determinada condición por la que tengo que finalizarlo, simplemente me salgo en lugar de poner un if ... else ... grande. continue es para decir que comience la siguiente iteración del bucle de manera inmediata, sin efectuar las operaciones entre ese punto y el final. La razón es la misma, evitar if ... else ... grandes.

exit(n) provoca una salida inmediata del programa, independientemente de donde estés, devolviendo el código indicado al programa llamador. Se utiliza en caso de errores graves en los que no hay posibilidad de recuperación y no puedes volver atrás en toda la lista de llamadas hasta llegar a main indicando que hay un error. La razón es la misma, para evitar su empleo, cada vez que llames a una función tendrías que tener código previsto para el caso de que la función llamada provoque un error grave, y esto no siempre es posible.

Personalmente yo utilizo el primer modo de los que has puesto (si no tengo los parámetros que necesito, adiós), pero si en las normas de entrega te han dicho que no, entonces te toca el segundo modo.

Saludos,