• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

marceluh

[Ajuda] Tipo de dados

5 mensagens neste tópico

tipo um ciclo  que vai escrever todos os numeros até 50000 no ecrá. Faço o "for" "for(i=0;i<=5000;i++), identifico o i como long e mando sair todos os numeros até 50000.

O meu problema é que mostra os numeros direitos até 32k que é o tipo de dados int depois até 50000 tambem mostra direito mas numero negativo.

para ler com o scanf um long é %ld nao é???

cumps.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

para ler com o scanf um long é %ld nao é???

Sim é. Mas para números até 50000 podes declarar como inteiro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ok e relativamente ao aparecer numeros negativos alguem sabe porque acontece isto???

cumps.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Deve estar a acontecer alguma coisa estranha com o teu compilador, ele parece estar a considerar long como tendo só 16 bits. (quando no fundo devia ter 32bits - tal como o int na maioria dos PCs actuais)

É este o código que tens?

long int i;

for (i=0;i<=50000;i++) printf("%ld\n",i);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ja esta a funcionar bem... saquei de novo o compilador... Devia estar com algum problema.

cumps.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora