C预处理器指令常见问题

Har*_*yal -5 c

#define MAX 20; void main() { printf("MAX"); }
Run Code Online (Sandbox Code Playgroud)

该计划的输出是:

 "20" 
Run Code Online (Sandbox Code Playgroud)

但我希望它是:

 20; 
Run Code Online (Sandbox Code Playgroud)

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

cni*_*tar 5

printf("MAX");
Run Code Online (Sandbox Code Playgroud)

实际上打印的是MAX,因为宏不会在引号内扩展.

  • @HarshitSyal不用担心.根据经验,运行您所询问的代码通常是个好主意. (2认同)