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

Strings


CarlosR

Pergunta

Bem este programa faz o seguinte,pega q quantidade de letras "c" escritas em uma frese de ate no maximo 100 caracteres e calcula a letra "c".

Eu vi que funciona direitinho.Mais eu não tive um bom entendimento em certas partes do programa.

#include <stdio.h>
int main ()
{
    char string[100];     /* String, ate' 99 caracteres */ 
    int i, cont; 
    printf("\n\nDigite uma frase: "); 
    gets(string); /* Le a string */ 
    printf("\n\nFrase digitada:\n%s", string);
    cont = 0; 
    for (i=0; string[i] != ''; i=i+1) 
    { 
        if ( string[i] == 'c' )      /* Se for a letra 'c' */ 
        cont = cont +1;          /* Incrementa o contador de caracteres */ 
    } 
    printf("\nNumero de caracteres c = %d", cont);
    return(0); 
}

O proble todo é "string" que não sei o papel dela no programa,\ZERO tambem não sei qual é o papel dele,i=i+1 tambem estou em duvida e tambem por que essa sequencia do "for" está desta forma.

Obrigado as pessoas que me ajudarem!

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

char string[100];

gets(string);

Nessa parte digamos que o usuário digitou "testando";

então:

string[0] vai ser igual a 't'

string[1] vai ser igual a 'e'

string[2] vai ser igual a 's'

string[3] vai ser igual a 't'

etc...

int i;

i = 0;

string vai ser igual a 't'

i = 1;

string vai ser igual a 'e'

i = 2;

string vai ser igual a 's'

etc...

Link para o comentário
Compartilhar em outros sites

  • 0
char string[100];

gets(string);

Nessa parte digamos que o usuário digitou "testando";

então:

string[0] vai ser igual a 't'

string[1] vai ser igual a 'e'

string[2] vai ser igual a 's'

string[3] vai ser igual a 't'

etc...

int i;

i = 0;

string vai ser igual a 't'

i = 1;

string vai ser igual a 'e'

i = 2;

string vai ser igual a 's'

etc...

Bem sua explicação foi muito vaga, para um iniciante como eu.Precisaria de uma resposta mais adequada.

Gostaria que você explicasse tudo que eu pedi na pergunta.

obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0

A explicação do Mnemonic foi boa. Uma string nada mais é que um vetor de caracteres. Então, se tenho numa string "Jonathan", ela ficará assim:

string[0]='J'; //primeira posição é "J"
string[1]='o';
string[2]='n';
string[3]='a';
string[4]='t';
string[5]='h';
string[6]='a';
string[7]='n';
string[8]=0;

Isso porque indicamos o fim de string com o 0. Claro que você pode armazenar uma string do jeito que quiser na memória, desde que saiba como ler. Mas a forma mais utilizada é um vetor de caracteres terminado em zero.

Link para o comentário
Compartilhar em outros sites

  • 0

Os tópicos foram mesclados por se tratar do mesmo assunto. Peço que evite a postagem de tópicos repetidamente.

Quanto à dúvida, o correto é o '0' vir sem o o delimitador ' (se vier, deve ser '\0', e não '0')

Conforme explicado por mim e pelo Mnemonic, o fim de uma string em C/C++ costuma ser marcado com o caractere 0. Sendo assim, como a condição do loop é caractere!=0 (ou simplesmente caractere, pois 0 é false), a string continuará a ser lida enquanto seu fim não for encontrado.

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...