A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 新手小渣渣 于 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;
}

6 个回复

倒序浏览
怎么跟我发表之前的内容不一样啊?
回复 使用道具 举报
应该是编译器的问题,有些编译器是从右到左的
回复 使用道具 举报
printf函数在不同编译器下,他的计算方向是不一样的,很明显在你这编译器下的计算顺序是从右往左的所以会出现6,3,2
回复 使用道具 举报
++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:44
地板
提示: 作者被禁止或删除 内容自动屏蔽
回复 使用道具 举报
chenzuliang1993 来自手机 中级黑马 2015-4-4 13:53:21
7#
看不懂你这个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马