c 语言 高级宏定义 undef标签 #include <stdio.h> #include <stdlib.h> #include <string.h> #define PI 3.14 int main() { int r; float s; printf("请输入半径:\n"); scanf("%d",&r); #undef PI //显示错误 s = PI * r * r; //printf("面积为%.2f\n",s); return 0; } 带参宏定义 #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX(x,y) (((x) > (y)) ? (x) : (y)) int main() { int x; int y; printf("请输入两个整数:\n"); scanf("%d%d",&x,&y); printf("%d是较大的那个数!\n",MAX(x,y)); return 0; } #include <stdio.h> #include <stdlib.h> #include <string.h> #define SQUARE(x) ((x)*(x)) int main() { int x; printf("请输入一个整数:\n"); scanf("%d",&x);//5 printf("%d\n",SQUARE(x));//25 printf("%d",SQUARE(x+1));//36 //宏定义中不加括号则为11 return 0; }