omportamento estranho de "não assinado, longo e longo" [duplicado]
Possible Duplicate:
Como você imprime um int longo e não assinado?
#include <cstdio>
int main ()
{
unsigned long long int n;
scanf("%llu",&n);
printf("n: %llu\n",n);
n /= 3;
printf("n/3: %llu\n",n);
return 0;
}
Qualquer coisa que eu insira, eu recebo uma saída muito estranha, por exemplo:
n: 1
n/3: 2863311531
o
n: 2
n/3: 2863311531
o
n: 1000
n/3: 2863311864
Qual o motivo? Como devo fazer isso corretamente?
(g ++ 3.4.2, Win XP)