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

String


Henrique Neto

Pergunta

Bem quero fazer um programa onde digito ums string, e digito um caracter para remover, tenho q pecorrer a string e ve se tem aquele caractere se tiver, ele some no contador quantas tem e no final do programa mostrar, quantos caracteres foram achados.

#include <stdio.h>
#include <string.h>

int main ()
   {
 char remove;
 char* str;
 int count;
          
          printf("Digite sua string");
          gets(str);
          printf("Digite o caractere para remover");
          scanf("%c",remove);
         for(count=0; remove[       
    

}



minha duvida é como percorrer uma string vendo se existe aquele caracter ?

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Percorrer a string procurando o caractere?

Cara, uma string é um vetor de caracteres terminado com um "\ 0' (nulo) que identifica aquele o vetor como uma string. E como qualquer vetor ele tem vários elementos que são alocados em diferentes endereços da memória (endereços sequenciados).

se eu tenho algo tipo:

char s[]="Teste";
Posso dizer que essa string tem 6 elementos, os 5 da palavra "Teste" mais um do "\ 0". E cada um desses elementos pode ser representado usando o índice do vetor: s[0] -> 'T' s[1] -> 'e' s[2] -> 's' s[3] -> 't' s[4] -> 'e' s[5] -> '\ 0' Então se você quer percorrer a string verificando cada caractere, para ver se ele é igual à 'b' por exemplo, é só fazer um laço tipo...
for(i=0;i<=strlen(s);i++)        /* o strlen retorna a quantidade de
  if(s[i] == 'b') {                       * caracteres da string, sem contar o "\ 0" */
    .
    .
    .

Espero ter ajudado em algo...

Até ;D

Link para o comentário
Compartilhar em outros sites

  • 0

Você tem razão Durub, eu escrevi sem pensar... Minha intenção só era ajudar...

Eu não entendi o uso da comparação s != '\ 0'

==================== edição (comentando o post abaixo)

Entendi Durub... Eu viajei aqui, estava imaginando outra coisa... Pra falar a verdade estou com raiva da minha burrice, mas é assim mesmo que a gente "avança".

Até mais ;D

Editado por jth.
Link para o comentário
Compartilhar em outros sites

  • 0

Ele vai rodar enquanto o caractere não for igual ao NULL, que é o delimitador da string.

s[0] -> 'O'

s[1] -> "i'

s[2] -> '\ 0'

int i;

/* i -> 0; s[0] == 'O', executa
    i -> 1; s[1] == 'i', executa
    i -> 2; s[2] == '\ 0', para */
for(i = 0; s[i] != '\ 0'; i++)
    printf("%c", s[i]);

/* Saída: Oi */

Abraços.

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