【发布时间】:2013-02-01 15:37:45
【问题描述】:
我的任务是在 C 中将浮点数或整数值转换为字符串。因为我在嵌入式平台上工作,所以我不能使用 sprintf。所以我想用这样的东西。
#define CURRENT(STRING,S_NO,VALUE) (str = "S"#S_NO#VALUE"A")
并像这样调用它
int a=10,b=20;
CURRENT(str,a,b);
所以 str 应该是S1020A。但我收到了SabA。
我在这里做错了什么?
【问题讨论】:
-
C 预处理器在编译时运行。当你
#define事情时,你并没有在做一个函数。
标签: c c-preprocessor