记录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);
}


赞 (0)
本文由 Aatrox 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论