C语言中x=3;(++x)+(++x)=?

来源:百度知道 编辑:UC知道 时间:2024/05/24 18:58:49

等于10
首先要明白++x的运算优先级高于+
所以首先执行的是++x,++x
也就是4,5
而现在的X已经等于5
所以再执行X+X;也就是5+5
所以结果为10
希望能帮助你

搞毛啊, 这个争论没有意义。
写程序你会这样写吗?
记得在教材中就 建议我们不要这样写, 和这个情况类似的还有 函数参数、判断语句的表达式

楼上都不对。
先运行左边的++x.这时x=4。便把4存入内存了。
而后来再++。x=5的时候。前面那个4已在内存中。不会再变了。所以最后应该是4+5=9

不同的编译器有不同的编译原理,所以你试着在不同的编译器里编译,会得到不同结果,如vc,gcc,嵌入式的keil等,你有兴趣都可以试试。其实只要明白了自加运算符的基本规则,不需要太去做这样无聊的题,除非是为了考试。因为实际中,程序员不会写这种难以理解的语句,即便要写,如果是我,也会把这句拆开写,写出复杂难理解语句的也许是个合格的程序员,但一定不是优秀的程序员。

在VISUAL C++6.0 和在TUBOC 2.0下运行结果是 不一样的

结果为10
实践结果