记录C语言的宏相关记录
宏
#include <stdio.h>
// 源程序中所有的宏名PI在编译预处理的时候都会被3.14所代替
#define PI 3.14
// 根据圆的半径计radius算周长
float girth(float radius) {
return 2 * PI *radius;
}
int main ()
{
float g = girth(2);
printf("周长为:%f", g);
return 0;
}#include <stdio.h>
#define I 3.14
int main ()
{
int a[]={I,I+I};
int b,c;
c=a[0];
b=a[1];
printf("c=%d,b=%d",c,b);
}定义宏可引用已定义的宏
#include <stdio.h>
#define pingjunzhi(a,b) (a+b)/2 //平均值
#define twopingjunzhi 2*pingjunzhi
int main()
{
float a =pingjunzhi(4.0,1.0);
float b =twopingjunzhi(4.0,1.0);
printf("平均值为:%lf\n二倍平均值为:%lf",a,b);
return 0;
} //需要注意的是,float时 int值5如果不变为5.0或强制类型转换(double)2.5的话 将输出2
#define D(a) 2*a ≠ #define D(a) 2*(a)
D(3+4)2*3+4=10 D(3+4) 2*(3+4)=14
#include <stdio.h>
#define D(a) 2*a
#define C(a) 2*(a)
int main()
{
int a = D(3+4);
int b =C(3+4);
printf("a=%d,b=%d",a,b);
}
还不快抢沙发