阅读背景:

该宏#define min(x,y) ((x) < (y) ? (x) : (y))会产生什么副作用?

来源:互联网 

这在标准c中,我们常用来求最小值,它有如下副作用,举例:

 代码min(ia++,ib++)  用宏替代    ((ia++) < (ib++) ? (ia++) : (ib++)) ,ia,ib变量加了两次,这不是我们想要的结果,我们可以用函数的方式能够避免。 代码min(ia++,ib++




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: