Ir para conteúdo
Fórum Script Brasil

nandobravo06

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Tudo que nandobravo06 postou

  1. 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";
  2. 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???
×
×
  • Criar Novo...