gpt4 book ai didi

c - printf C 中十六进制值的最后一个字节

转载 作者:行者123 更新时间:2023-12-02 07:37:01 28 4
gpt4 key购买 nike

我有一个简单的问题。代码真的很短所以我就贴在这里

#include <stdio.h>
int main(int argc, const char * argv[])
{

long int p;

printf("FYI: address of first local varaible of main() on the function stack:%p\n",&p);
printf("Enter start address <hex notation> of dump:");
scanf("%lx",&p);

char * q;
q = (char*)p;

printf("%x\n",*q);

return 0;
}

例如最后一次 printf 的结果是 ffffffc8。如果我只想保留最后两个怎么办:c8。我怎样才能做到这一点?我试过: printf("%2x",*q);printf("%x",*q % 256);但两者都不起作用。有人可以帮忙吗?谢谢!

最佳答案

要以十六进制打印 *q 的最低有效字节,您可以使用:

printf("%02x", *q & 0xFF);

这当然假设 q 可以被取消引用。

关于c - printf C 中十六进制值的最后一个字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15296032/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com