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.
int conta_letras (char *string)
{
int contador_de_letras=0;
while (*string!='\0')
{
if (*string==' ');
else
{
contador_de_letras++;
}
}
return (contador_de_letras);
}
Mr. Brightside
20-06-2008, 21:05
Pelo que descreves o problema não está nessa função.
De qualquer forma podes tornar esse código mais elegante.
Ace-_Ventura
20-06-2008, 21:07
esse if está 1 bocado manhoso. altera para if (*string != ' ') contador_de_letras++;
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).
metaclay
20-06-2008, 21:40
Tu só queres contar os caracteres da string? Não queres incluir os espaços na contagem certo?
Tu só queres contar os caracteres da string? Não queres incluir os espaços na contagem certo?
ya
esse if está 1 bocado manhoso. altera para if (*string != ' ') contador_de_letras++;
mas assim so ia contar os caracteres com espaço
ya
mas assim so ia contar os caracteres com espaço
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