_i64toa(a,buffer,10); scanf("%I64d",&a); printf("%I64d",a); 就可以正确输入输出了。当使用unsigned __int64时,把"I64d"改为"I64u"就可以了。