Função recursiva para inverter um vetor de caracteres

Publicado por Kleber de Andrade Reis em 04/11/2004

[ Hits: 33.169 ]

 


Função recursiva para inverter um vetor de caracteres



Olá galera!

Achei interessante postar isso aqui para ajudar no conhecimento daqueles que estão iniciando o estudo em C. Esse código faz a inversão de um vetor de caracteres usando uma função recursiva.

#include

void inv(char *string)
{
if(*string)
{
inv(string+1);
putchar(*string);
}
}
int main()
{
inv("kleber");
return 0;
}
Outras dicas deste autor

Desligando Slackware com fonte ATX automaticamente

Ocorrência de uma string em outra

Conversão vetor de caracteres para double

Leitura recomendada

Checagem de erro do scanf

Conversão vetor de caracteres para double

Desenvolvimento com C/C++ e GTK

Mais uma dica de curso de C e C++

Instalando Code::Blocks no Ubuntu 12.04

  

Comentários
[1] Comentário enviado por kandrade em 05/11/2004 - 08:10h

Desculpem galera.....eu sou novo por aqui.......eu deveria comentar o programa.........

então vamos lá.......na ordem de execução........

obs.: eu mudei o nome do parametro da função inv para uma melhor compreensão...........

int main()
{
inv("linux"); //quando vc chama a função inv passando uma string
//ela atribui ao ponteiro str o endereço de memória
//do primeiro caracter da string.....nesse caso 'l'
return 0;
}

void inv(char *str)
{
if(*str) //se o conteúdo do ponteiro "*str" for diferente de 0..........
{
inv(str+1); //soma 1 na posição de memória
//o programa chama a função novamente
//o endereço do proximo caracter como parametro
putchar(*str); //quando ele sair de if terminando assim
//a função ele vai retornando os caracteres
//pendentes e é assim q ele mostra o inverso...
}
}

[2] Comentário enviado por jochan em 14/12/2005 - 14:44h

Muito legal, vai me ajudar bastente no meu projeto de C++ ... =)



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts