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

Problemas Com String


Guest Adriano

Pergunta

Guest Adriano

eu to tendo problema com esse codigo q deveria inverter uma string... abcd se transformar em dcba

#include<stdio.h>

void main(){

int tam,i=0,x=1;

char s[]="abcd",*a;

tam=strlen(s);

a=(char*)malloc(tam);

for(i=0;i!=x;i++){

x=tam-i;

*(a+0)=s[x];

}

printf("o inverso de %s é %s",s,a);

}

mas ele me retorna: "o inverso de abcd é ", o q ta errado?

Obrigado

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
Guest - Tenente Leite -

#include <stdio.h>

#include <stdlib.h>

#define n 5

int main()

{

int d;

char a[n];

scanf("%s",&a);

for(d=n-1;d>=0;d--)

printf("%c",a[d]);

system("PAUSE");

return 0;

}

Cara eu pelo que eu vi o seu erro deve estar no seu laço for, pelo número do i, mas como você alocou dinamicamente são entendi , teria que compilar pra ver! O código acima faz exatamente o que você quer, só que tem o limite de 5, talvez você prefira dessa forma:

#include <STDIO.h>

#include <stdlib.h>

#define N 3

int main()

{

char string[N];

char string2[N];

int i;

gets(string);

for (i=N;i>=0;i--) // lembrando que você pode usar o strlen aqui ,i>= strlen(string)

string2=string[N-i-1];

if((strcmp(string,string2))==0)

printf("são palindromo");

else

B)

printf("não palidromo");

printf("%s",string);

printf("%s",string2);

system("PAUSE");

return 0;

Link para o comentário
Compartilhar em outros sites

  • 0

Ai meu chapa, eu fiz por ponteiro, vê se assim tá bom!

#include <stdlib.h>

#include <stdio.h>

void inverte (char *texto);

main ()

{

char *palavra="";

printf ("\n\nDigite alum texto: ");

gets (palavra);

inverte (palavra);

}

/* ---------- */

void inverte (char *texto)

{

int cont_1 = 0, cont_2 = 0;

/* verifica tamanho do texto */

while (texto[cont_1]) cont_1++;

printf ("\nTamanho de %s = %i\n", texto, cont_1);

printf ("\nInvertendo: ");

do {

printf ("%c", texto [cont_1-cont_2-1]);

cont_2++;

} while (cont_2 < cont_1);

}

:rolleyes: ;) :P :) :(

Link para o comentário
Compartilhar em outros sites

  • 0

Ae galera eu quero criar uma variavel matriz só q o tamanho seja aleatorio.....dependendo do que for colocado entendem?

como eu declaro essa MATRIZ???

já tentei

char nome[]

não dá certo!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Criar uma variável aleatória é simples. o que você precisa é de lógica.

Observe meu raciocínio.

Você quer criar uma variável, mas não sabe o tamanho dela.

Então, crie um ponteiro para essa variável, e use a função malloc;

Depois que armazenar um devido espaço, desaloque com o free(maisvariavel);

Será que eu tenho que escrever o código ou você consegue fazer sozinho? É que eu to com preguiça .. zzzzzzzzzZZZ..ZZZzzz.ZZz.zzz

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...