c - 什么编译器不支持 printf 标志中的 "%#x"样式?

标签 c compiler-construction posix printf

我理解 %#x 提供与 0x%x 相同的效果并且它符合 POSIX 标准。但是人们提到有些编译器不支持它。这是真的吗,有什么例子吗?

最佳答案

除了一些损坏的嵌入式系统 C 库之外,# 修饰符应该得到普遍支持。但是 %#x0x%x 是不一样的。它们对值 0 产生不同的结果,并且 # 修饰符将始终以与十六进制数字相同的大小写打印 x(例如 %#x 给出 0xa%#X 给出 0XA) 而使用 0x%X 会让你有一个小写的 x 和大写的十六进制数字(视觉效果更佳,至少对我而言)。因此,我发现 # 修饰符在实践中很少有用。

关于c - 什么编译器不支持 printf 标志中的 "%#x"样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8715525/

相关文章:

java - 在编译器中解析 'path expression' 中的名称,例如 'person.name'

python - 关于python构造的问题

c - 使用 "inline"调用约定的 "fastcall"函数的性能影响

c++ - 将 fork() 与 boost::asio::ip::tcp::iostream 一起使用是否安全?

timer - ualarm 的方案/ Racket 等价物

c - 如何在运行时使用 POSIX clock() 函数监视 CPU 利用率?

c - C中的越界二维数组错误

c - Haskell Z3 api 的段错误

C: printf 中的ptrdiff_t 应使用哪个字符?

c - 使用 "fgets"时如何仅获取部分用户输入并丢弃其他字符?