运算符优先级问题 设整型变量a.b.c均为2,表达式a+++b+++c++的结果是?麻烦大家帮忙分析哈 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 6先算a++b++c++因为++在后边 故为2+2+2 如果在前边应该是9 ++a + ++b + ++c 这根具系统设定的不同而不同 分析个P,这个属于编译器没有定义的范畴。你分别用 BCB VC GCC C# Java 运行,结果都不一样。 我觉得这些小程序应该自己动手运行,因为你这一次是问的,那么下次再遇到相似类型的题呢?只有自己掌握了计算的方法,那知识才是你自己的。++x 是先将x加一个单位,然后再将计算结果作为表达式的值x++ 是先将x作为表达式的值,然后再将x加一个单位如int x,y;x=5;y=++x 结果是x=y=6x=5;y=x++ 结果是x=6,y=5 帅哥,给解释一下呗,看了一下楼主的问题,再看看回答确实挺无聊的,不过你这个是亮点a+++b为何一定会被当做(a++)+b而不是a+(++b)?BTW,貌似大家看了这种东西火气都很大啊 因为规则就这么定的...C#中,x++是基本运算符,具有最高优先级,比一元运算符++x优先级高... 其实我觉得这不是个运算优先级的问题因为优先级是在已知运算符的情况下才有效而这个问题是的背景是运算符都还尚未确定问题应该是编译器的分词规则a+++b会被分解为a+++b还是会被分解为a+++b也就是他的分词原则是什么? .net “/....”应用程序中的服务器错误 长连接的服务器端用什么写比较稳定?异步socket,还是tcplistener? 自定义的类使用后如何释放? 请问framework2.0能运用到vs2003中吗? 谁有好的C#群介绍下 问个弱弱的问题,大家ToolBar里的按钮图片是在哪儿找的 C#如何读取16位灰度图 DataGrid中的小小一个问题^_^ C# 文件浏览器 图标 怎样向CS服务器(反恐精英)发送UDP十六进制数据,然后服务器返回状态信息 如何获取命名管道的名称?
先算a++b++
c++
因为++在后边 故为2+2+2 如果在前边应该是9 ++a + ++b + ++c 这根具系统设定的不同而不同
你分别用 BCB VC GCC C# Java 运行,结果都不一样。
只有自己掌握了计算的方法,那知识才是你自己的。
++x 是先将x加一个单位,然后再将计算结果作为表达式的值
x++ 是先将x作为表达式的值,然后再将x加一个单位
如int x,y;
x=5;y=++x 结果是x=y=6
x=5;y=x++ 结果是x=6,y=5
为何一定会被当做
(a++)+b
而不是
a+(++b)
?
BTW,貌似大家看了这种东西火气都很大啊
因为优先级是在已知运算符的情况下才有效而这个问题是的背景是运算符都还尚未确定问题应该是编译器的分词规则a+++b
会被分解为
a
++
+
b
还是会被分解为
a
+
++
b也就是他的分词原则是什么?