关于 a=(++m)+(++m)+(++m)
为什么我设m=5a=(++m)+(++m)+(++m)
最后结果是22 不是24
[[it] 本帖最后由 wangskyyi 于 2008-4-9 14:59 编辑 [/it]]
----------------解决方案--------------------------------------------------------
别钻这个牛角尖!!!!!!
----------------解决方案--------------------------------------------------------
a=(++m)+(++m)+(++m)
++m : m = 6;
++m : m = 7;
a = 7 + 7 = 14;
++m : m = 8;
a = 14 + 8 = 22;
这是假设编译器从左向右执行,要是从右向左的话应该是24吧!!
----------------解决方案--------------------------------------------------------
怎么是老是讨论这些问题..在编程中又用不到那些东西的
----------------解决方案--------------------------------------------------------
考试会用得到的,哈哈
就喜欢考试也没有办法
----------------解决方案--------------------------------------------------------
哈,考试也不会考吧。C书上有说的,不同的编译器是不一样的吧。
----------------解决方案--------------------------------------------------------
如果用printf("a=%d",(++m)+(++m)+(++m))话,应该是从右向左吧
----------------解决方案--------------------------------------------------------
这个题目没意义....
----------------解决方案--------------------------------------------------------
编译器问题 每个编译器执行的方向不一样
----------------解决方案--------------------------------------------------------