第一:#define用来用标识符替字符串
#define a 3
此时 3就是a了
第二:#define定义宏
现在用宏定义来求圆的面积和周长:
#define _CRT_NO_WARNINGS 1 #include<stdio.h> #define pi 3.1415926//用表示符来代替字符串,这里定义π #define PerimeterC(r) 2*pi*r//宏定义周长 #define area(r) pi*r*r int main() { int rad;//半径 printf("请输入半径:"); scanf("%d",&rad); printf("%.2f\n",PerimeterC(rad));//打印周长 printf("%.2f\n",area(rad));//打印面积; return 0; }
#define可以进行宏定义,给宏定义的字符串进行传参
#define pi 3.1415926 //用表示符来代替字符串,这里定义π
#define PerimeterC(r) 2*pi*r //宏定义周长
#define area(r) pi*r*r //定义圆面积
进行运算完之后再返回输出
假如现在稍微改动一点:
rad+1
那么,此时输入11,经过加1之后还是12,值是不是和之前没改时输入12得到的结果一样呢
很明显,不一样
全部加括号之后:
#define _CRT_NO_WARNINGS 1
#include<stdio.h>
#define pi 3.1415926//用表示符来代替字符串
#define PerimeterC(r) 2*pi*(r)//宏定义周长
#define area(r) pi*(r)*(r)
int main()
{
int rad;//半径
printf("请输入半径:");
scanf("%d",&rad);
printf("%.2f\n",PerimeterC(rad+1));//打印周长
printf("%.2f\n",area(rad+1));//打印面积;
return 0;
}