在将 64 位项目移植到 32 位项目以进行范围兼容更改时:
typedef float float_t;
到
typedef long double float_t;
一切顺利,但 %f 的所有 printf 说明符都出现错误。我不想在整个代码中更改为 %Le。
请提出任何通用的解决方案,使其在 c 语言中兼容 32 位和 64 位系统。
最佳答案
您将不得不为 float/long double 的格式字符串使用#define,或者使用特殊的格式化函数
关于c - 将项目从 64 位移植到 32 位时 : float changed to long double gives error for %f,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9942800/