c - 如何在 C 中将整数转换为十六进制字符串?

标签 c

如何在 C 中将整数转换为十六进制字符串?

示例:整数 50 将转换为十六进制字符串 "32""0x32"

最佳答案

这段代码

int a = 5;
printf("%x\n", a);

打印

5

这段代码

int a = 5; 
printf("0x%x\n", a);

打印

0x5

这段代码

int a = 89778116;
printf("%x\n", a);

打印

559e7c4

如果您将 x 大写为大写十六进制值的格式:

int a = 89778116;
printf("%X\n", a);

打印

559E7C4

如果要打印指针,请使用 p 格式说明符:

char* str = "foo";
printf("0x%p\n", str);

打印

0x01275744

关于c - 如何在 C 中将整数转换为十六进制字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3464194/

相关文章:

c++ - 从不同 VS2010 项目中的 C++ 代码调用 C 函数时出现链接器错误

c - 如何编写 scanf 的条件,使其仅接受包含零但不包含字母的整数输入?

c++ - C 文件* 到 ostream/istream

使用结构体计算加薪的C程序

c - 堆化时出现段错误

c - 如何使用 fscanf() 逐行读取 C 中的某个文件而不会出现幻象行?

c - while 循环中运算符的工作(C 编程)

c - 为什么这个粒子系统的能量不断增加?

C-MPI 发送创建的带有字符数组的 typedef 结构

c - 循环遍历其他源文件中定义的数组时出现问题