|
|
发表于 2006-1-5 09:25:26
|
显示全部楼层
Post by Thruth
........这是个逗号表达式
你的优先级低理由不成立,因为逗号优先级最低,按照你的说法除了3,4这种纯粹数字的exp1,exp2才构成逗号表达式
你的意义解释是对的,所以我猜你说的是
不能把12,3看作一个逗号表达式,a=12,3才是一个逗号表达式。
对呀,你自己不是自己已经说明了理由吗?
","优先级比"="低,而"="是"由右向左"方式结合的,再重复一编推论:
a=1,2,3; 结果应该是 a = 1,后面东西一律无效。
除非用a=(1, 2, 3)改变优先级。
这是个C运算符优先级的基础问题,说是编译器问题的都是冒充大牛的,本身不愿举证解释的。
我在gcc2.3,VC6,lcc上试验过,答案一致!如果哪个编译器出来的结果不一致,可以确定是它本身的问题。 |
|