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

Exibição ao contrário de uma string


emanoellucas

Pergunta

Galera, é o seguinte: estou tentando ler uma string e exibi-la ao contrário, porém, ao exibi-la, aparece outros caracteres na tela.

segue o código.

====================================================================================================

#include <stdio.h>
#include <locale.h>
#include <string.h>
#define TAM 40
int main ()
{
    setlocale(LC_ALL,"");
    int i, j;
    char palavra[TAM], palavra1[TAM], palavra_contraria[TAM];
    printf("Palavra: ");
    gets(palavra);

    for(i=0, j=strlen(palavra); i<strlen(palavra); i++, j--){
        palavra1 = palavra[j];
    }
    strcpy(palavra_contraria, palavra1);
    printf("\n\n\nPalavra ao contrário: %s\n\n", palavra_contraria);

    return 0;
}
 


 

===================================================================================================

 

sim, eu sei que poderia ir exibindo um caractere por vez dentro do for, porém, tenho que comparar a string original com a string contrária pra poder falar ao final do programa se a palavra original é um palíndromo ou não.

 

 

Capturar.PNG

15 minutos atrás, emanoellucas disse:

Galera, é o seguinte: estou tentando ler uma string e exibi-la ao contrário, porém, ao exibi-la, aparece outros caracteres na tela.

segue o código.

====================================================================================================

#include <stdio.h>
#include <locale.h>
#include <string.h>
#define TAM 40
int main ()
{
    setlocale(LC_ALL,"");
    int i, j;
    char palavra[TAM], palavra1[TAM], palavra_contraria[TAM];
    printf("Palavra: ");
    gets(palavra);

    for(i=0, j=strlen(palavra); i<strlen(palavra); i++, j--){
        palavra1 = palavra[j];
    }
    strcpy(palavra_contraria, palavra1);
    printf("\n\n\nPalavra ao contrário: %s\n\n", palavra_contraria);

    return 0;
}
 


 

===================================================================================================

 

sim, eu sei que poderia ir exibindo um caractere por vez dentro do for, porém, tenho que comparar a string original com a string contrária pra poder falar ao final do programa se a palavra original é um palíndromo ou não.

 

 

Capturar.PNG

 

Não sei por que, mas dentro do for é palavra1 e não apenas palavra1, como está aparecendo no tópico.

Editado por emanoellucas
correção de texto
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
 #include <stdio.h>
#include <locale.h>
#include <string.h>
#define TAM 40
int main ()
{
    setlocale(LC_ALL,"");
    int i, j;
    char palavra[TAM],palavra2[TAM];
    printf("Palavra: ");
    gets(palavra);

    for(i=strlen(palavra)-1, j=; i>=; i--, j++){
        palavra2[j]=palavra[i];    
        
    }
    printf("Palavra ao contrario: %s\n", palavra2);
    return ;
}

 

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...