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

Loop infinito proposital

Como podemos interromper um loop infinito, que veio de um erro do código por exemplo, dentro do prompt de comando? Acho que o instrutor usa ^z mas como ele usa um MAC e eu WINDOWS não deve ser o mesmo comando, poderiam me ajudar com isso? Exemplo abaixo

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

int main() {

    setlocale (LC_ALL, "Portuguese");

    char palavraSecreta[20];
    sprintf(palavraSecreta, "azul");
    printf("%s\n", palavraSecreta);

     int acertou = 0;
    int enforcou = 0; 

    char chutes[26];
    int tentativas = 0;


    do{
        for (int i = 0; i < strlen(palavraSecreta); i++){

            int achou = 0;

            for (int j = 0; j < tentativas; j++){
                if (chutes[j] == palavraSecreta[i]){
                    achou = 1;
                    break;
                }
            }

            if (achou){
                printf("%c", palavraSecreta[i]);
            }else{
                printf("_ ");
            }
        }

        printf("\n");

        char chute;
        scanf(" %c", &chute);

        chutes[tentativas] = chute;
        tentativas++;

    }while (!acertou && !enforcou);

}

Aqui no caso estou fazendo um teste para ver se estava tudo funcionando, e ao que parece esta mesmo kkkk, mas agora tenho que abrir outra janela no prompt, pois essa esta em um loop eterno por eu não ter programado ainda um meio de interrompe-lo. Sei que um break ou alguns ifs mudando o valor de acertou ou enforcou interromperiam esse "erro" mas queria saber um comando especifico no prompt para fazer isso caso eu quisesse fazer um teste assim.

2 respostas
solução!

Olá, Michael. Tudo bem?

Pode me dizer onde no Windows você está executando seus programas? Normalmente Ctrl + c interrompe a execução se estiver executando pelo terminal.

Muito obrigado Victor, isso me ajudou muito