1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[C]Conta caracteres

Discussão em 'Programação' iniciada por Ruanes, 20 de Junho de 2008. (Respostas: 8; Visualizações: 3664)

  1. Ruanes

    Ruanes Power Member

    oi, cria fazer um conta caracteres.
    já fiz este codigo, o problema é que quando escrevo o nome o cursor vai uma linha para baixo e nao acontece mais nada.
    Código:
    int conta_letras (char *string)
    {
    int contador_de_letras=0;
     while (*string!='\0')
     {
      if (*string==' ');
      else 
       {
       contador_de_letras++;
       }
     }
    return (contador_de_letras);
    }
     
  2. Pelo que descreves o problema não está nessa função.

    De qualquer forma podes tornar esse código mais elegante.
     
  3. Ace-_Ventura

    Ace-_Ventura Power Member

    esse if está 1 bocado manhoso. altera para
    Código:
    if (*string != ' ') contador_de_letras++;
     
  4. tool

    tool Power Member

    acho que o teu problema está em não estares a mexer a posição no ponteiro, pois, à medida do tempo deverias ir fazendo *(string + i) em que o i vai variando, de 0 a strlen(string).
     
  5. metaclay

    metaclay Power Member

    Tu só queres contar os caracteres da string? Não queres incluir os espaços na contagem certo?
     
  6. Ruanes

    Ruanes Power Member

    ya

    mas assim so ia contar os caracteres com espaço
     
  7. tool

    tool Power Member

  8. MPalhas

    MPalhas Power Member

    não, é precisamente o contrário. repara que em vez de "==", tem lá "!="
    o primeiro significa igual, o segundo significa diferente.
    não há necessidade de estar a criar um if vazio para depois por no else, quando podes simplesmente por a condição oposta

    e como disse o tool, falta-te incrementar o ponteiro a cada passagem do ciclo, senão não sai do sitio e cria um loop infinito
     
  9. Ruanes

    Ruanes Power Member

    obrigado pela ajuda
     

Partilhar esta Página