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

[Dúvida] Quebra de linha após uma variável no scanf

Olá, boa tarde! Tudo bem?

Visando uma melhor organização no fonte, inseri \n após o "%d" e a execução do código estagnou. Tive que forçar a finalização. Mas nesse caso, como faço para inserir uma quebra de linha sem que o código pare de executar?

Fiz assim:

...
int chute;

    printf("Qual o seu chute? \n");
    scanf("%d \n", &chute);
    printf("Seu chute foi %d", chute);

}

O resultado:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas
solução!

Olá, Thayanna!

Quando você inclui o \n na string de formato do scanf, ele vai esperar, além do número, também uma quebra de linha na entrada, o que pode causar confusão, pois o usuário não sabe que precisa pressionar Enter duas vezes.

Para corrigir o problema e ainda manter a organização do código, você pode simplesmente retirar o \n do scanf e manter o restante do código como está. O printf já está lidando com a quebra de linha após a pergunta, então não é necessário no scanf. Aqui está como ficaria o trecho corrigido:

...
int chute;

printf("Qual o seu chute? \n");
scanf("%d", &chute);
printf("Seu chute foi %d", chute);

...

Espero ter ajudado e bons estudos!

Obrigada!