PePeLeGaL Postado Fevereiro 20, 2007 Denunciar Share Postado Fevereiro 20, 2007 (editado) o que há de errado a partir da segunda vez que le o string ? :o #include<stdio.h> int main() { char nome[50]; char resp[10]; while(1) { printf("Nome do usuario >>> "); scanf("%[^\n\t]",nome); //deveria permitir digitar nomes separados por espaco printf("Nome digitado >>> %s\n", nome); printf("Continuar (s/n)?"); scanf("%s",resp); if(resp[0]=='s') ; else if(resp[0]=='n') break; else { printf("erro\n"); break; } } } Editado Fevereiro 20, 2007 por PePeLeGaL Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cavotta Postado Fevereiro 20, 2007 Denunciar Share Postado Fevereiro 20, 2007 Seria melhor você dizer o que o programa retorna :) , senão dá a impressão que isso é um desafio do tipo: encontre onde vai dar erro ... hehe.Eu acho que é por causa disso aqui: ele vai ler até o próximo '\n' ou ' ', ignorando esse '\n', que vai ficar para o próximo scanf ler, mas não tenho certeza. Por isso a importância de você dizer qual o erro que dá. Eu sugiro que você adicione uma linha:scanf("%s",resp); getchar(); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Fevereiro 21, 2007 Denunciar Share Postado Fevereiro 21, 2007 eu já havia tentado da forma como você sugeriu. não primeira vez que eu digito uma frase formada com espacos em branco ele funciona tudo bem, ou seja, imprime a frase digitada e pergunta se eu quero digitar uma nova. Quando eu digito que sim, ele imprime a frase que eu havia digitado anteriormente e pula a opcao de eu digitar uma nova frase, loucura. Como corrijo isso ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Fevereiro 21, 2007 Denunciar Share Postado Fevereiro 21, 2007 isso ocorre porque fica sujeira no buffer do tecladovoce pode fazer como o amigo sugeriu acima, funciona sim.ou usar fflush(stdin) antes de cada scanf para limpar o buffer. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
PePeLeGaL
o que há de errado a partir da segunda vez que le o string ? :o
Editado por PePeLeGaLLink para o comentário
Compartilhar em outros sites
3 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.