采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,这个运行结果怎么不是4,5,2呀!居然是8,8,2,有点不明白是怎么算出来的
这是一个练习题上面的,我用的MinGW编译器
你换msvc看看有没有惊喜
换个编译器就有可能不一样。涉及到表达式的求值顺序的问题,自己写代码千万不要这么写。
那MinGW是怎么运算出来这个结果的呀?!感觉怎么也算不出882的结果呀[哭笑]
很多编译器求值都是从后往前的,所以不奇怪。 先 i++,取当前值2,然后i改为3, 再++i,i成为3,由于这里传参传的是i,所以也受到了 i *= 2的影响,参数全部求值完成以后 相当于传参 i, i, 2,而 i已经是8了。 但这没啥意义,谁敢在项目里这么写代码,一定会被揍的。
登录后可查看更多问答,登录/注册
如果通向大牛的道路有捷径,那就是先学好C语言
1.6k 3
1.1k 4
1.3k 9
1.6k 1
841 2