Ir ao conteúdo

Posts recomendados

Postado

Olá, estou com uma simples dúvida, queria saber como fazer um scanf que não precise obrigatoriamente receber dados, só de apertar Enter o programa continue a rodar.

Por exemplo:

#include <stdio.h>
int main () {
  printf("Pressione 'Enter' para continuar\n");
  scanf();
  printf("Fim");
}
  

 

Postado
1 hora atrás, Felipe Lombardi disse:

Olá, estou com uma simples dúvida, queria saber como fazer um scanf que não precise obrigatoriamente receber dados, só de apertar Enter o programa continue a rodar.

Por exemplo:


#include <stdio.h>
int main () {
  printf("Pressione 'Enter' para continuar\n");
  scanf();
  printf("Fim");
}
  

 

 

Claro que há outras maneiras de fazer isso, mas respondendo sua pergunta...

 

Essa é a máscara, a especificação completa para um argumento de scanf():

%[*][largura][quantos]tipo

 

O % indica o início do especificador. Esses colchetes indicam que são valores opcionais os 3. Então, como você sabe, pode escrever algo como %d para ler um número.

 

Esquecendo 'largura' e 'quantos', o tipo pode ser algo assim [abcd] e scanf() vai aceitar só dessas 4 letras e pular o resto. E [^abcd] vai inverte a escolha graças ao ^ e vai aceitar qualquer coisas EXCETO as que estão na lista.

 

Enter é escrito como \n, o tal newline.

 

O * lá no começo diz pra pular o que corresponder a essa especificação --- o grupo %dsdd claro.

 

Assim se você usar 

 

int n = scanf("%*[^\n]"); 

 

vai ler qualquer coisa até ler um ENTER e desprezar. É isso ou quer ler exatamente um enter?  Se quer ler o ENTER

Postado

se quer ler um ENTER ou ler e desprezar tudo que tem até um enter o comum é usa um loop como essa função

void    flush()
{
    int ch = 0;
    do { ch = getc(stdin); } while ((ch != '\n') && (ch != EOF));
};	// flush()

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!