Salir de un bucle infinito en su programa de lenguaje c

Cuando te metes en bucles de programación en el lenguaje C, a descubrir las alegrías y temores de sin fin, o infinito, bucles. Estos lazos continúan para siempre, ya sea porque el programador se olvidó de incluir una manera de salir del bucle o la condición de salida se acaba nunca conoció. De cualquier manera, los bucles sin fin son un dolor.

Pero a veces un programa C contiene un bucle sin fin a propósito. Este tipo de construcción puede parecer extraño, pero la base de muchos programas modernos es que se sientan y giro mientras esperan a que algo suceda. El bucle puede tener este aspecto:

de (-) {check_Keyboard () - check_Mouse () - check_Events () - check_System () -}

Tenga en cuenta que las condiciones en el interior de los paréntesis después de la para palabra clave se echa en falta, lo que está bien. El resultado es un bucle sin fin en el que los estados se comprueban varias veces, una tras otra: El programa está buscando actividad alguna parte. Cuando se encuentra la actividad, el programa va y hace algo interesante. Pero la mayor parte del tiempo, el programa sólo se sienta en este tipo de bucle, esperando que algo suceda. (El procesador típica palabra puede realizar miles de estos bucles, ya que espera entre las pulsaciones de teclado que usted está escribiendo.)

Introduce este código fuente y guardarlo en el disco. Entonces compilar y ejecutar el programa:

#include int main () {char ch-puts ("Programa Typing") - puts ("tipo de distancia:") - de (-) {ch = getchar () -} return (0) -}

Sí, puede escribir. Y se puede ver el texto en la pantalla. Pero, ¿cómo dejas?

Para detener, usted tiene que romper el bucle sin fin, lo que se puede hacer pulsando Ctrl + C. Pero esa no es la manera que usted desea que sus programas funcionen. En su lugar, una condición de salida debe estar definido para el bucle, que es donde el descanso palabra clave entra en juego.

Los desarrolladores del lenguaje C sabían que, en algunos casos, un bucle debe romperse basado en condiciones que no podían predecirse o la creación dentro de la para comunicado. Así, en su sabiduría, introdujeron el descanso palabra clave.

Qué descanso hace es dejar de fumar de inmediato un lazo (loop cualquier lenguaje C, no sólo para bucles). Cuando el equipo se ve descanso, simplemente asume que el bucle se hace y continúa como si se cumple la condición de que termina el bucle:

#include int main () {char ch-puts ("Programa Typing") - puts ("prensa de distancia-Type '~' para salir:") - de (-) {ch = getchar () - si (ch = = '~') {break -}} return (0) -}

Ahora una condición de salida se define. los si comparación en línea de 12 cheques para ver si se introduce un (tilde) carácter ~. Si es así, el bucle se detiene por la descanso comunicado.

Cambiar su código fuente para que coincida con lo que se acaba de mostrar. Compila y ejecuta. Ahora, usted puede detener el programa escribiendo el carácter ~.

Tenga en cuenta que la si declaración también se puede escribir sin los apoyos:

si (ch == '~') desglose

Esta línea puede ser un poco más fácil de leer que el uso de aparatos ortopédicos.




» » » » Salir de un bucle infinito en su programa de lenguaje c