Ir para conteúdo
Fórum Script Brasil
  • 0

bug getchar() - C ?


nandobravo06

Pergunta

Olá pessoal.

Sou novato em C, e encontrei uma situação que pra mim é um bug.

Uso o DEV C++ 5.8.1 - TDM-GCC 4.8.1 64-bit Release

O código é este:

#include <stdio.h>
main(){
char c; int i,j;
printf("digite um caractere:");
c = getchar();
//scanf("%c",&c);
//printf("o caractere digitado foi %c codigo %d\n\n",c, c);*/
j=0;
for(i=33;i<4097;i++){
printf("o caractere referente ao codigo %d é %c \n",i,i);
j++;
printf("valor de j = %d ... resto da divisao de %d por %d = %d\n\n ",j,j,10,j%10);
if(j%10==0){
//bloco de espera ***Aqui que acontece o problema...
getchar();
}
}
}
Gostaria de saber por que quando j é 10 ele entra no bloco de espera, mas não executa a função getchar(). O que acho estranho é que a partir da segunda vez que entra no bloco de espera aí executa normalmente o getchar(). Isso só acontece se a linha "c = getchar();" estiver descomentada.
Quando comento a linha "c = getchar();", aí quando j = 10, o programa executa o getchar().
Alguém sabe por que acontece isso???
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Pessoal, pesquisei e consegui entender o que acontece...

Se no primeiro getchar, fora do "for", simplesmente der enter, sem digitar nenhum caracter, o funcionamento do "for" será correto.

Se digitar um caracter, na função getchar, fora do "for", o primeiro loop, quando j==10, não executará o getchar() "de dentro do for";

Se digitar cinco caracteres, quando entrar no "for" enquanto j <=50 , não executará o getchar() "de dentro do for";

Então, resumindo, o problema estava e digitar um caracter e depois o enter, fora do "for";

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...