i307 0 Posted March 28, 2011 Report Share Posted March 28, 2011 Estou a fazer um programa onde preciso de receber uma string e passá-la às funções a fim de efectuar operações. Mas estou a receber isto como vector de caracteres pois depois preciso de comparar os valores. Qual a melhor maneira de fazer o que pretendo? int contar(char * v ){ int i=0; while(v[i]=!'\0'){ i++; } return i; } int main() { int i=0 , n=0; char palavra[10]; scanf("%s",&palavra); n=contar(palavra); EDIT: Problema resolvido. char palavra[10] = "" ; scanf("%s",palavra); Link to post Share on other sites
Baderous 31 Posted March 28, 2011 Report Share Posted March 28, 2011 Não percebi qual a dúvida, mas relativamente ao teu código, quando se utiliza a função scanf para ler strings, não se usa o operador &, porque o nome da string já é ele próprio um apontador para a string (mais concretamente, para o seu 1º elemento). Link to post Share on other sites
i307 0 Posted March 28, 2011 Author Report Share Posted March 28, 2011 Não percebi qual a dúvida, mas relativamente ao teu código, quando se utiliza a função scanf para ler strings, não se usa o operador &, porque o nome da string já é ele próprio um apontador para a string (mais concretamente, para o seu 1º elemento). Mea culpa sim. Já agora o código para saber onde acaba uma string para o problema ficar resolvido (apesar de não funcionar para um vector de caracteres) int i=0; while(v[i]!='\0'){ i++; } return i; Link to post Share on other sites
i307 0 Posted March 28, 2011 Author Report Share Posted March 28, 2011 int n2=0; n2=n; while(n2=!0){ if (v[i]%2==0){ como raio é que nesta passagem o n2 fica com o valor de 1 ?? (o valor de n era 5) 🤔 Link to post Share on other sites
falk0n 0 Posted March 28, 2011 Report Share Posted March 28, 2011 Coloca o programa que tens estado a desenvolver ou pelo menos essa parte para que se possa ver o código todo. Se tem o valor 5 é que inseriste uma palavra com esse número de caracteres. Se puderes mostrar o código mais fácilmente serás ajudado. Boas programações Link to post Share on other sites
i307 0 Posted March 29, 2011 Author Report Share Posted March 29, 2011 Coloca o programa que tens estado a desenvolver ou pelo menos essa parte para que se possa ver o código todo. Se tem o valor 5 é que inseriste uma palavra com esse número de caracteres. Se puderes mostrar o código mais fácilmente serás ajudado. Boas programações Eu pus a parte toda que interessava, eu estava a fazer watch da varável 'n' e era ali que ela ficava com o valor de 1 (depois de receber o valor 5 do 'n'). Mas agora já não preciso de usar uma variável temporária para o 'n' , portanto. Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now