chharlie Posted October 20, 2009 at 12:27 AM Report Share #292460 Posted October 20, 2009 at 12:27 AM venho aqui expor mais um duvida bastante futil mas como eu gosto de saber o porque das coisas nao funcionarem como eu quero venho aqui ver se algume me esclarece. quando declaro um a variavel como sendo double o conpilador da-me erro e nao sei porque. imaginemos declaro qualquer coisa do tipo double abc = 30.0; ele da erro mas se declarar a mesma variavek como sendo um float ja nao da erro nenhum o meu compilador é o gcc e programo em ambiente unix obrigado desde ja por qualquer esclarecimento Link to comment Share on other sites More sharing options...
Ferreira Posted October 20, 2009 at 08:43 AM Report Share #292468 Posted October 20, 2009 at 08:43 AM Qual é o erro? http://twitter.com/ferreira Link to comment Share on other sites More sharing options...
softklin Posted October 20, 2009 at 01:57 PM Report Share #292526 Posted October 20, 2009 at 01:57 PM Acho isso muito estranho... Olha aqui: bash-3.2$ cat doubles.c #include <stdlib.h> int main() { double abc = 30.0; } bash-3.2$ gcc doubles.c bash-3.2$ gcc -W doubles.c Sem qualquer problema... 😛 Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post. Link to comment Share on other sites More sharing options...
chharlie Posted October 23, 2009 at 09:32 AM Author Report Share #292977 Posted October 23, 2009 at 09:32 AM ta aqui o programa, afinal nao da erro mas sim warning mas queria saber porque do warning visto que no livro que li do luis damas "linguagem c" diz que um double pode ser lido por um %f tal como um float #include<stdio.h> int main(){ double quilos=1.0e3; double gramas= 1.0e6; double toneladas; printf("Insira o numero de toneladas: "); scanf("%f",&toneladas); printf("o numero de toneladas inseridas e %f quilos\n",toneladas*quilos); printf("o numero de toneladas inseridas e %f gramas\n",toneladas*gramas); return 1; } Link to comment Share on other sites More sharing options...
forcewill Posted October 23, 2009 at 10:01 AM Report Share #292982 Posted October 23, 2009 at 10:01 AM poder até pode vai é haver uma conversão de float para double. Mais correcto seria usares %lf De qualquer forma pudias era por ai o warning, até porque pode não ser nada relacionado. Postar os warnings/erros ajuda sempre 😉 Link to comment Share on other sites More sharing options...
Baderous Posted October 23, 2009 at 01:05 PM Report Share #293002 Posted October 23, 2009 at 01:05 PM Será do return 1 no fim da main? (Deveria ser return 0). Link to comment Share on other sites More sharing options...
Rui Carlos Posted October 24, 2009 at 03:18 PM Report Share #293176 Posted October 24, 2009 at 03:18 PM Será do return 1 no fim da main? (Deveria ser return 0). Isso é apenas uma convenção. Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
Baderous Posted October 24, 2009 at 03:49 PM Report Share #293185 Posted October 24, 2009 at 03:49 PM É como o forcewill disse, tens de usar %lf para doubles. http://www.gidforums.com/t-11104.html Link to comment Share on other sites More sharing options...
Triton Posted October 24, 2009 at 03:56 PM Report Share #293186 Posted October 24, 2009 at 03:56 PM http://stackoverflow.com/questions/210590/why-does-scanf-need-lf-for-doubles-when-printf-is-okay-with-just-f Para perceberes porquê. <3 life Link to comment Share on other sites More sharing options...
chharlie Posted October 25, 2009 at 05:43 PM Author Report Share #293308 Posted October 25, 2009 at 05:43 PM obrigado pela ajuda mesmo, usei o %lf e funcionou direitinho, no livro que ando a ler diz que o %f serve perfeitamente e andei a pesquisar pela net mas nunca tinha encontrado a soluçao %lf. obrigado Link to comment Share on other sites More sharing options...
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