宏定义使用

1 需要很多 if 进行判断,感觉用起来不太好看所以

#include<stdio.h> 
#define MWE(A,B) {if(A) {B}}
int add(int a,int b)
{
    
    
   int c= a+b;
   printf("value  is %d\n",c);
}
int main(void)
{
    
    
   MWE(1,printf("hello\n"););
   MWE(0,add(2,5););
   MWE(1,add(5,5););
   
}

但是感觉 两个分号很奇怪

MWE(1,add(5,5););

so

#include<stdio.h> 
#define MWE(A,B) {if(A) {B;}}
int add(int a,int b)
{
    
    
   int c= a+b;
   printf("value  is %d\n",c);
}
int main(void)
{
    
    
   MWE(1,printf("hello\n"););
   MWE(!(0),add(2,5));
   MWE(1,add(5,5));
   
}

猜你喜欢

转载自blog.csdn.net/aningxiaoxixi/article/details/114273691