分类: C/C++
2007-03-02 15:51:12
这两个问题容易被混为一谈
extern int i = 10;对于上面的最后一条语句, 对语法有着一般敏感度的人首先会想到乘法的算符优先级高于加法, 所以先被"计算", 这里的"计算"一词是个模糊的说法, 准确的说, 应该是g()和h()的值进行乘法运算先于它们的结果与f()的值进行加法运算. 而这三个参与运算的值都是由f(), g(), h()这三个函数的调用返回的, 隐含的假想是:
int f() { i+=1 ; }
int g() { i+=2 ; }
int h() { i+=3 ; }
int result = f() + g() * h();