Em muitos casos, ao ler uma string você pode encontrar alguns problemas, por exemplo, seu programa pode pular a leitura da string seguinte. Nesses casos é necessário utilizar o SETBUF para limpar o buffer do teclado. Lembrando, não é recomendado o uso de FFLUSH.
Explicação de scanf(" %c%*[^\n]",&c); :
Clear Char Array em C
Clear Char Array em C
fflush(stdin) é usado para limpar o buffer do teclado! Podemos usar para este problema também, o operador de supressão do scanf, (%*c).
Limpar o buffer, por exemplo, nem sempre é algo desejável, e para programação mais profissional e segura não é recomendado que se use fflush por exemplo. Mas para quem está começando, não há problema algum ficar limpando o buffer após cada scanf, e o scanf (embora seja arriscado e não indicado em alguns casos) é o mais usado.
Então c = ' ' e o buffer é: E aqui mora o erro. O comportamento esperado era ter lido A na primeira e B na segunda. A correção para isso, no entanto, é bem simples e não precisa de nenhuma função adicional. Simplesmente consuma a quebra de linha! Use scanf ("%c ", &c).
Ainda no primeiro exemplo desse artigo ( o que dá problema ), digitamos a letra 'C', que é armazenada na variável 'letra1' e em seguida apertamos enter. Esse caractere (enter), ficará armazenado no buffer do teclado (um memória temporária).
Foi inserido no buffer de entrada o seguinte: Quando executa scanf ("%c", &c) você lê um único caractere do buffer. No caso é A. Repare que em momento nenhum o foi consumido. No próximo scanf ("%c", &c), ele será lido. Então c = ' ' e o buffer é: E aqui mora o erro.
Como funciona uma lavadora Semi-automática?
O que é bloqueio interno de CPF?
Qual é a estrutura de um servidor?
Como ver texto oculto no Word?
Como tirar sujeira do silicone do box?
Como funciona o aparelho da ressonância magnética?
Como tirar tinta látex seca da roupa?
Como apagar E-mail para outra pessoa?
Como excluir seu perfil do Instagram?
Como tomar o pó da maca peruana?
Quando e como se usa o presente simples em inglês?
Como fazer hidratação no cabelo com quiabo?
Como solicitar exame para sífilis?
Como recorrer pensão por morte?
Como soldar uma peça de metal?