关于宏是否修改参数值
如下代码,值value没有改变,为什么?宏不是简单的文本替换吗?
#define CROL( value, bits ) ( ( value << bits ) | ( value >> ( 0x20 - bits ) ) )
unsigned int value = 0xaffffffa;
CROL( value, 2 );
printf( "0x%x\n", value );
unsigned int value = 0xaffffffa;宏
printf( "0x%x\n", CROL( value, 2 ) );