【发布时间】:2013-08-08 13:43:37
【问题描述】:
我有以下宏
我想打印一个变量名,然后是值, 所以宏将有助于让变量名显示它的值
我的例子展示的结果
var = 1.234 打印在屏幕上。
#include <stdio.h>
#define str(s) #s
#define PRINTER(X) printf("% 12s = % f\n", str(X), X);
int main()
{
float var = 1.234f;
PRINTER(var);// <===== warning here
return EXIT_SUCCESS;
}
我的问题,如果你尝试一下,如果你在 main 中收到警告,请告诉我,这是什么意思?
对我来说,我得到flag ` ' used with type `s'
edit:
标志说明
(空格)如果不写入符号,则在值之前插入一个空格。
【问题讨论】:
-
尝试删除
%和12s之间的空格?
标签: c macros warnings gnu-make