当前位置: 代码迷 >> C语言 >> [求助]为什么不加()就编译不过?
  详细解决方案

[求助]为什么不加()就编译不过?

热度:191   发布时间:2006-08-28 13:00:00.0
[QUOTE]"++j+++j"被编译器理解成了(++j++)+j,这个表达式是非法的[/QUOTE]
这个与具体的编译器有关。
LZ请记住即使这样的代码通过编译,答案很难确定的,况且楼主你会写出这样代码吗?
不要在钻研这些无用的细节了,C的强大与灵活不是体现在这方面的。
----------------解决方案--------------------------------------------------------
谢谢大家,不去想这些了
头晕
----------------解决方案--------------------------------------------------------
编译器是按贪心法来识别运算符的.所以+++当三个加号写一起的时候,便宜器会理解为++,然后再+.
----------------解决方案--------------------------------------------------------

连编译器都贪心,什么世道啊!


----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-08-28 08:17:47
shuaiye

等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
  得分:0 
我可没说有右值的概念啊,我是让LZ自己思考除左值外还有没右值的概念。
至于“左值是可以位于"="运算符左边的变量或表达式”我没表达清楚,在此表示抱歉。

----------------解决方案--------------------------------------------------------
  相关解决方案