evandrolnr Postado Maio 12, 2010 Denunciar Share Postado Maio 12, 2010 Boa noite. Fiz um programa que recebe um <enter> como argumento e testa a tecla digitada. O compilador não entende o meu enter como sendo tal!?#include <stdio.h> #include <stdlib.h> int main() { char resp; char resp1 = '\r'; scanf("%c",&resp); /* é digitado <enter> para teste */ printf("\nresp %d\n",resp); printf("\nresp1 %d\n",resp1); if ( resp == '\r' ) printf("\ndigitou enter\n"); else printf("\nnão digitou enter\n"); return 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 evandrolnr Postado Maio 13, 2010 Autor Denunciar Share Postado Maio 13, 2010 Acho que descobri o que estava errado com o <enter>.Ao pressionar <return> obtemos uma nova linha.O caracter que indica nova linha é '\n', e não '\r'.Não sei ainda em que caso é usado '\r'.O programa ficou assim:#include <stdio.h> #include <stdlib.h> int main() { char resp; char resp1 = '\n'; scanf("%c",&resp); /* é digitado enter para teste */ printf("\nresp %d\n",resp); printf("\nresp1 %d\n",resp1); if ( resp == '\n' ) printf("\nDigitou enter\n"); else printf("\nNão digitou enter\n"); return 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 evandrolnr Postado Maio 13, 2010 Autor Denunciar Share Postado Maio 13, 2010 A versão do comilador c que estou usando (Oracle ProC) não tem o include <conio.h>. Peguei um programa de treinamento que usa '\r' como teste de <enter> (vide abaixo), e converti a função getche() em scanf(). A versão do programa que eu fiz só funciona se eu usar '\n' como teste de<enter> ?! :blush:/* Contachar.C */ /* Conta caracteres de uma frase */ #include <stdio.h> #include <stdlib.h> #include <conio.h> para getche() */ int main() { int cont=0; /* Contador */ while(getche() != '\r') /* Enquanto não [Enter] */ cont++; /* Corpo do laço */ /* Fora do laço */ printf("\nO número de caracteres é %d\n" , cont); system("PAUSE"); return 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
evandrolnr
Boa noite. Fiz um programa que recebe um <enter> como argumento e testa a
tecla digitada. O compilador não entende o meu enter como sendo tal!?
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.