paulo1205
(usa Ubuntu)
Enviado em 28/02/2014 - 07:29h
O porquê disso é justamente a sua última frase, que informa que você está usando Debian de 64 bits.
Ocorre que, por padrão, na plataforma amd64 os inteiros sem a qualificação
long têm representação em 32 bits, enquanto os ponteiros são de 64 bits -- como convém a uma máquina com 64 para endereços. Ao converter do menor para o maior, o compilador lhe avisa que o ponteiro pode ficar com um valor não confiável, porque faltam informações dos bits mais significativos.
Fora isso, eu tenho uma dúvida sobre o seu código. Na função
coint(), você faz um cast sobre o endereço da variável
i, e não sobre o valor com o qual a função foi chamada. Tem certeza de que é isso mesmo que você quer?