微信:https://mp.weixin.qq.com/s/0ZVNbTj7fGs8Gi03vj541A
博客:https://www.jianshu.com/p/12c6b703856a
执行完max(x++,y++),我们期望max的值为2,x的值为2,y的值为3
如果处理这个副作用??
#define min(x,y) ({\
typeof(x) _x = x; \
typeof(y) _y = y; \
(void) ( &_x == &_y ); \
_x>_y ? _y : _x;})
#define max(x,y) ({\
typeof(x) _x = x; \
typeof(y) _y = y; \
(void) ( &_x == &_y ); \
_x>_y ? _x : _y;})
说明:}) 类似于 逗号的运算规则
说明:问题还有 error: expected primary-expression before 'typeof'
怎么办?
https://www.jianshu.com/p/12c6b703856a
此时 可以解决我的问题了!!
果然 这个办法很棒!!