Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Loop infinito

Como paramos um loop infinito no prompt de comando? Por exemplo digamos que eu criei um loop só que o meu programa possui um erro que não o deixa sair dele por exemplo:

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

int main() { 

    setlocale (LC_ALL, "Portuguese");

    int x = 0;

        do{ 
            printf("OI\n");

        }while (x = 0);
}    
4 respostas

Olá Michael, tudo bem?

No seu while a condição está desta forma: (x = 0);, se substituir o 0 por 1 teremos um loop. Veja:


#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

int main() { 
    setlocale (LC_ALL, "Portuguese");

    int x = 0;
        do{ 
            printf("OI\n");        
        }while (x = 1);
}   

Para finalizarmos o loop infinito, mesmo com a condição não atendida, utilizamos o break, ele força a saída de um laço de repetição. Utilizamos desta forma, veja:


#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

int main() { 
    setlocale (LC_ALL, "Portuguese");

    int x = 0;

        do{ 
            printf("OI\n");            
            break;        
        }while (x = 1);
}    

Espero ter ajudado!

Entendi, muito obrigado, mas e se eu já rodei esse código e não quero fechar o PROMPT de comando e fazer todo aquele processo de abrir um novo PROMPT, achar a pasta dos meus arquivos para ai então poder continuar com os testes do meus programa, o instrutor usa um comando para isso, mas não sei qual é, no caso deve ser diferente já que uso windows e ele mac, saberia me dizer como fazer isso no meu caso?

Olá Michael,

Quando o programa finaliza, você só quer fechar ele após pressionar alguma tecla? Se sim, tente colocar ao final do código a função getchar();.

Espero que te ajude. Um forte abraço!

solução!

Na verdade era o comando CRT+C que para o programa no prompt, mas muito obrigado a todos dos professores que tentaram me ajudar aqui, um abraço a todos