黑马程序员技术交流社区

标题: 求i 的值,打印出来的跟我想的不一样啊!!求解 [打印本页]

作者: 新手小渣渣    时间: 2015-4-3 17:20
标题: 求i 的值,打印出来的跟我想的不一样啊!!求解
本帖最后由 新手小渣渣 于 2015-4-11 12:02 编辑

#include<stdio.h>
int main()
{
        int i=2;
        printf("%d,%d,%d\n" ,i*=2,++i,i++);//结果是6、3、2 这里的i*=2相当于(i=i*2)不是应该是4吗?++file:///C:\Users\ADMINI~1\AppData\LocalLow\Baidu\BAIDUP~1\Account\COMMON~1\CUSTOM~1\Recent\4122E3~1.GIFi是加后取值,i++是加前取值
        
        return 0;
}


作者: 新手小渣渣    时间: 2015-4-3 17:21
怎么跟我发表之前的内容不一样啊?
作者: 游戏龙    时间: 2015-4-3 19:30
应该是编译器的问题,有些编译器是从右到左的
作者: oucding    时间: 2015-4-3 21:30
printf函数在不同编译器下,他的计算方向是不一样的,很明显在你这编译器下的计算顺序是从右往左的所以会出现6,3,2
作者: 弥风冻雪    时间: 2015-4-3 22:33
++file:///C:\Users\ADMINI~1\AppData\LocalLow\Baidu\BAIDUP~1\Account\COMMON~1\CUSTOM~1\Recent\4122E3~1.GIFi是加后取值,i++是加前取值,中间这一段搞的什么玩意儿。。。。。。。。。。
作者: So然后    时间: 2015-4-3 22:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: chenzuliang1993    时间: 2015-4-4 13:53
看不懂你这个




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2