- 博客(2)
- 收藏
- 关注
原创 如何使用语句表达式和什么情况下使用
x : y这个宏不是很难,大部分人都能写出来,但是有些漏洞,我们可以写一个程序验证一下x : y=1,1!=2));return 0;可以看到,测试第4行语句,当宏的参数是一个表达式,发现实际运行结果为 max=0,跟我们预期结果 max=1 不一样。=1>1!=2?1!=1:1!=2);因为比较运算符 > 的优先级为6,大于!=(优先级为7),所以展开的表达式,运算顺序发生了改变,结果就跟我们的预期不一样了。
2024-08-01 18:22:06
646
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人