在我的代码中,我有一个宏:
#define TPS 1(or 0)
int main()
{
....
if(var)
{
#ifdef TPS
do something
#endif
}
}
但现在,我想将if(var)
与宏合并,以便实现:
int var=1;
#define TPS (if(var))
int main()
{
int a, b, c;
a=1;b=2;c=3;
#if TPS
printf("a: %d\n", a);
printf("b: %d\n", b);
printf("c: %d\n", c);
#endif
printf("++a: %d\n", ++a);
return 0;
}
即宏条件中的代码块应该只存在于var=1
例如,对于var = 1:
int main()
{
int a, b, c;
a=1;b=2;c=3;
printf("a: %d\n", a);
printf("b: %d\n", b);
printf("c: %d\n", c);
printf("++a: %d\n", ++a);
return 0;
}
并且,对于 var=0:
int main()
{
int a, b, c;
a=1;b=2;c=3;
printf("++a: %d\n", ++a);
return 0;
}
我怎样才能#define TPS
实现这一目标?