Ajuda na função strpal do header string.h [RESOLVIDO]

1. Ajuda na função strpal do header string.h [RESOLVIDO]

Deimos
SocialismIsAlive

(usa Debian)

Enviado em 14/01/2015 - 17:48h

Olá pessoal do VOL , eu estou com dificuldade de entender esta função , strpal , aqui está o código de acordo com o livro Linguagem C de Luís Damas :

int strpal(char *s)
{
int i,j;
for (i=0,j=strlen(s)-1; i < j ; i++,j--)
if (s[i]!=s[j])
return 0;
return 1;
}

Pelo que entendi é o seguinte :
1º: declaração da função strpal com um vetor de caracteres (que conterá a string) como parâmetro;
2º: declaração das variáveis do tipo inteiro i e j;
3º: uso de for com as seguintes condições:
°: i é igual a 0;
°: j é igual strlen(s)-1 , imaginemos que o vetor s tenha uma string que seja "aba" assim strlen(s) = 3 pois apresenta três caracteres que ocupam respectivamente =>
a --> posição 0 do vetor ;
b --> posição 1 do vetor ;
a --> posição 2 do vetor;
mas como o fato principal é strlen(s)-1 , j é igual a 2
°: i é menor que j;
°: i++ , como j é igual a 2 e (eu acho) que ocupa as posições 0 e 1 e vai se auto decrementar seguindo o padrão de que i não pode ser maior que a mesma assim i vai se iterar e ocupar a posição 0 mas e j ir a posição 0 também pois ele só ocupa 0 e 1 e assim como é analisado a posição 2 se j não pode ser menor que i , realmente este trecho e o seguinte me deixam louco;
°: j--;
4º: usa-se if para se analisar se s[i] não é igual a s[j] se sim o programa terminar em false assim a string não é igual de trás para frente ou vice versa e se não o programa termina em true pois é igual de trás para frente (está parte entendi)

Enfim alguém pode me dizer o que acontece dentro deste for!!!


  


2. Re: Ajuda na função strpal do header string.h [RESOLVIDO]

Deimos
SocialismIsAlive

(usa Debian)

Enviado em 18/01/2015 - 16:55h


Valeu amigo era exatamente nessa parte do loop que não estava entendo obrigado :) !!!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts