新手求教
c++吧
全部回复
仅看楼主
level 1
#define SQUARE(x) x*x
#define MAX(a,b) (a>b)?a:b
a = SQUARE(2++);
b = MAX(2++,10);
为什么2会被增值两次?两个2都被增值两次?为什么?有点不懂啊,一次吧应该?求教
2017年04月07日 02点04分 1
level 11
2++这种写法居然没被编译器打脸
2017年04月07日 06点04分 2
level 11
因为会把参数替换为2++,然后参数用了两次,就自增了两次(2++是怎么回事)
2017年04月07日 08点04分 3
level 12
宏定义里面最好不要有这样的会改变值的写法
2017年04月07日 09点04分 4
level 8
你调用啦2次函数,调用一次之后就加1,所以最后结果会加2[开心]
2017年04月07日 12点04分 5
其他错误同上
2017年04月07日 12点04分
1