Romper com um loop infinito em seu programa de linguagem C
Quando você entrar em loops de programação na linguagem C, você descobre as alegrias e temores de sem fim, ou infinito, laços. Estes laços continuar para sempre, porque quer o programador esqueceu de incluir uma maneira de sair do loop ou a condição de saída é apenas nunca conheceu. De qualquer maneira, infinitas loops são uma dor.
Mas às vezes um programa C contém um loop infinito de propósito. Este tipo de construção pode parecer estranho, mas a base de muitos programas modernos é que eles se sentar e girar, enquanto se espera que algo aconteça. O loop pode ser parecido com isto:
para (-) {check_Keyboard () - check_Mouse () - check_Events () - check_System () -}
Observe que as condições dentro dos parênteses após o para palavra-chave estiver em falta, o que é ok. O resultado é um loop infinito em que as declarações são verificadas várias vezes, uma após a outra: O programa está olhando para a atividade em algum lugar. Quando a atividade for encontrado, o programa apaga-se e faz algo interessante. Mas a maior parte do tempo, o programa apenas se senta neste tipo de loop, esperando que algo aconteça. (O processador de texto típico pode executar milhares de estes laços enquanto espera entre teclas como você está digitando.)
Insira este código-fonte e salve-o no disco. Em seguida, compilar e executar o programa:
# include int main () {char ch-puts ( "programa de digitação") - puts ( "tipo de longe:") - para (-) {ch = getchar () -} return (0) -}
Sim, você pode digitar. E você pode ver o seu texto na tela. Mas como é que você parar?
Para parar, você tem que quebrar o loop infinito, o que pode ser feito pressionando Ctrl + C. Mas essa não é a maneira que você quer que seus programas funcionem. Em vez disso, uma condição de saída deve ser definido para o laço, que é onde o pausa palavra-chave entra em jogo.
Os promotores de linguagem C sabia que, em alguns casos, um circuito tem de ser quebrado com base em condições que não podiam ser previstos ou criados no interior da para declaração. Assim, em sua sabedoria, eles introduziram o pausa palavra-chave.
o que pausa faz é parar imediatamente um loop (qualquer loop de linguagem C, não apenas para Loops). Quando o computador vê pausa, ele simplesmente assume que o loop é feito e continua como se condição final do ciclo foi cumprido:
# include int main () {char ch-puts ( "programa de digitação") - puts ( "Tipo de imprensa away- '~' para sair:") - para (-) {ch = getchar () - if (ch = = '~') {break -}} return (0) -}
Agora uma condição de saída está definido. o E se comparação na linha 12 verifica se um personagem (til) ~ é inserido. Se assim for, o ciclo é interrompido pela pausa declaração.
Alterar o seu código fonte para que ele corresponde ao que foi mostrado apenas. Compilar e executar. Agora, você pode parar o programa, digitando o personagem ~.
Note-se que o E se declaração também pode ser escrita sem as chaves:
if (ch == '~') break-
Esta linha pode ser um pouco mais legível do que usando chaves.