有些编译系统的问题,使程序通用受到影响。有些系统是从左到右,有些从右到左。图中f(3,3)是先从右边开始执行,++i=3,所以i此时的值已经变成3了
比如int k=3;是把3赋值给k,这是自右向左算,有的是自左向右算的,好像vc是自右向左,cfree自左向右。如果自右向左,++i是先加后赋值,然后i此时为3,前一个为3,同理另个为2,楼主给个最佳答案吧,不会再问
++i是先自增1在运算 从右向左 ++i i变成了3 所以就是3 3
从左向右 先是i 赋值了2 所以就是2 在++i 自己自增1 就变成了3 所以就是2 3
望采纳