注册 登录
编程论坛 C++教室

[求助] 一个简单的指针问题

恒宇之清 发布于 2007-08-14 21:14, 441 次点击
(*p)+++*q;为什么等价于((*p)++)+*q;呢?怎么不等价于(*p)+(++*q)呢?不是说要右结合的吗?
如果是*p+++*q又等价于什么呢?
3 回复
#2
yunjie20082007-08-14 21:26
(*p)+++*q;
这里:先解释第一个括号作用:因为间接引用运算符*的优先级比自增运算符低,
如果不加(),则(*p)+++*q = *(p)+++*q;
又因为:有这样一条运算规则:C编译器采取从左到右尽可能多地将若于个字符组成运算符
#3
lijy5202007-08-14 21:59
*p+++*q   <==>  *(p++)+(*q)
#4
野比2007-08-15 00:54
翻书, 把运算符优先级背熟了再看一遍...
1