Duvida sobre string [RESOLVIDO]

1. Duvida sobre string [RESOLVIDO]

Guilherme José Schneider
gjschneider92

(usa openSUSE)

Enviado em 30/05/2011 - 11:38h

Bom dia pessoal tudo bem?
Bem, precisa criar um script em c que conte a quantidade de palavras em uma frase que o usuario digita.
Codigo:

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

main()
{
char frase[1000];
int i, cont;

printf("Digite uma frase:");
gets(frase);

for(i=0;i<=strlen(frase);i++)
{
if(frase[i]==" ")
cont++;
}
cont++;

printf("A quantidade de palavras é: %d", cont);
}


Bem, este é o código que criei, que segue o seguinte raciocinio...
Toda vez que o contador encontrar um espaço em branco, ele incrementa um, até ai tudo bem, porem, como é a sintaxe de caracter vazio em c?

Não consegui achar, tentei colocar if(frase[i]==" "), mas da erro.
Alguem poderia me ajudar?

Desde ja agradeço.


  


2. MELHOR RESPOSTA

Mauricio Souza Klein
Hebang

(usa Arch Linux)

Enviado em 30/05/2011 - 11:47h

Quando voce acessa uma posição de uma string, como se fosse um array, ele retorna um char, e não uma string.

Quando você faz `if(frase[i] == " ")` está comparando um char com uma string.

tente:
if( frase[i] == ' ' )

e veja se resolve seu problema.

Espero ter ajudado!

3. Re: Duvida sobre string [RESOLVIDO]

Elder Marco
eldermarco

(usa Fedora)

Enviado em 30/05/2011 - 11:49h

Você esqueceu de inicializar a variável count. Outra coisa é que o seu if está considerando uma string e não um caractere. Em vez de fazer um " ", faça ' ' para se referir a um caractere em branco.


4. Re: Duvida sobre string [RESOLVIDO]

Guilherme José Schneider
gjschneider92

(usa openSUSE)

Enviado em 30/05/2011 - 11:54h

Amigo, muito obrigado. Funcionou!!!
Estou começando em c, entao ainda cometo alguns desses erros hehehehe.

Abrass


5. Re: Duvida sobre string [RESOLVIDO]

Mauricio Otto
mauricio1241

(usa Fedora)

Enviado em 30/05/2011 - 11:55h

Para evitar problemas futuros inicie a variável cont igualando a zero, desta forma:
int cont=0;

;)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts