我在尝试使用scanf从用户获取大十六进制数字(12个字符)时遇到问题。
它似乎只能获取最后8个字符,例如-ABFFFFFFFF将变为0000FFFFFFFF。
这是我的代码-
unsigned long long address;
scanf("%x",&address);
printf("Address: %#014x", address);
对于此输入:“ ABFFFFFFFF”,输出为:
地址:0x0000ffffffff
我试过用scanf格式播放,但无济于事。
scanf格式和printf都必须使用“%llx”。有关更多详细信息,请参见手册页。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句