C预处理器指令常见问题

时间:2012-04-24 17:27:21

标签: c

#define MAX 20; void main() { printf("MAX"); }

该计划的输出是:

 "20" 

但我预计会是:

 20; 

为什么分号不出现在输出中?

3 个答案:

答案 0 :(得分:5)

printf("MAX");

实际打印的内容为MAX,因为宏未在引号内展开

答案 1 :(得分:3)

这是错误的:

#define MAX 20; void main() { printf("MAX"); }

我怀疑也许你意味着这个:

#define MAX 20

void main() 
{ 
  printf("%d\n", MAX); 
}

宏并不复杂;你可以找到很多链接。例如:

答案 2 :(得分:0)

此:

#define MAX 20; void main() { printf("MAX"); } 

不是一个程序。