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

该程序的输出是:

 "20" 

但我希望它是:

 20; 

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

4

3 回答 3

5
printf("MAX");

实际上打印的是MAX,因为宏没有在引号内展开

于 2012-04-24T17:29:51.293 回答
3

这是错误的:

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

我怀疑你的意思是这样的:

#define MAX 20

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

宏没那么复杂。你可以找到很多链接。例如:

于 2012-04-24T17:32:43.747 回答
0

这个:

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

不是程序。

于 2012-04-24T17:33:12.950 回答