c++编程思想中的关于宏的一个问题
程序如下:
#define BAND(x) (((x)>5&&x<10)?(x):0)
void main()
{
for(int i=4;i<7;i++)
{
int a=i;
cout<<"a="<<a<<endl<<'\t';
cout<<"BAND(++a)="<<
BAND(++a)<<endl;
cout<<"\ta="<<a<<endl;
}
}
输出结果是
a=4
BAND(++a)=0
a=5
a=5
BAND(++a)=8
a=8
a=6
BAND(++a)=9
a=9
为什么第二次调用宏a变得这么大啊,求高手解答