anda7x Postado Setembro 23, 2016 Denunciar Share Postado Setembro 23, 2016 Oi,Meu programa na parte de digitar a palavra que aparece na frase,ela le uma letra apenas..eu queria digitar uma palavraobrigado #include <stdio.h> #include <string.h> main() { char string[100]; char ch1; char ch2; int x, tam; printf ("Digite uma frase:\n"); gets(string); printf ("Digite alguma palavra q exista na frase acima:\n"); scanf ("%c", &ch1); printf ("Digite alguma palavra q exista ou não na frase acima:\n"); scanf (" %c", &ch2); tam=strlen(string); for (x=0;x<tam;x++){ if (string[x]==ch1){ string[x]=ch2; } } printf ("%s", string); return 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rickayron Postado Setembro 24, 2016 Denunciar Share Postado Setembro 24, 2016 Olá, o problema está no seguinte código: char string[100]; char ch1; char ch2; Você declarou um vetor de char, que é o mesmo de uma string no fim das contas, mas o ch1 não é uma palavra mas sim um caracter, ou seja você está tentando pegar uma palavra( um vetor de char) com apenas um char. você deve corrigir isso, algo tipo isso: char string[100]; char ch1[20]; char ch2[20]; você deve ajustar a entrada de dados na linha "scanf..." e ajustar o for, pois você vai ter que comparar caracter a caracter, portanto vai precisar dividir a frase em palavras e comparar as palavras. até mais. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
anda7x
Oi,
Meu programa na parte de digitar a palavra que aparece na frase,ela le uma letra apenas..eu queria digitar uma palavra
obrigado
Link para o comentário
Compartilhar em outros sites
1 resposta 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.