如何使用#define打印变量,如#define STR(M)= M的值

时间:2016-12-25 09:50:30

标签: c c-preprocessor

#include <stdio.h>

#define STR /*~~Complete this line~~*/
/* such that the output of the code is

M = 10
N = 5

*/

#define N 5
#define M 10

int main() {
printf(STR(M));
printf("\n");
printf(STR(N));
return 0;
}

我们必须将M = 10和N = 5打印到控制台。 我不知道我们该怎么做。请帮我。问题在代码本身中得到了很好的解释。

2 个答案:

答案 0 :(得分:2)

你走了:

#define STR(x)  "%s=%d",#x,x

请阅读有关宏

的信息

答案 1 :(得分:2)

#define STR(x) printf(#x "=%d",x)

我误读了这个问题..当你在printf..use中使用它时  #define STR(x) "%s = %d ",#x,x 要么  #define STR(x) #x "=%d",x