扫描一个大的十六进制值
scanf a big hexadecimal value
我在尝试使用 scanf 从用户那里获取一个大的十六进制数字(12 个字符)时遇到问题。
它似乎只得到最后 8 个字符,例如 - ABFFFFFFFF 将变为 0000FFFFFFFF。
这是我的代码 -
unsigned long long address;
scanf("%x",&address);
printf("Address: %#014x", address);
对于此输入:"ABFFFFFFFF" 输出将是:
Address: 0x0000ffffffff
我试过玩一下scanf格式,但没用。
scanf 格式和 printf 都必须使用“%llx”。有关更多详细信息,请参阅手册页。
我在尝试使用 scanf 从用户那里获取一个大的十六进制数字(12 个字符)时遇到问题。
它似乎只得到最后 8 个字符,例如 - ABFFFFFFFF 将变为 0000FFFFFFFF。
这是我的代码 -
unsigned long long address;
scanf("%x",&address);
printf("Address: %#014x", address);
对于此输入:"ABFFFFFFFF" 输出将是:
Address: 0x0000ffffffff
我试过玩一下scanf格式,但没用。
scanf 格式和 printf 都必须使用“%llx”。有关更多详细信息,请参阅手册页。