只為不段前行 发表于 2014-12-25 13:25:05

求助下 ++a --a 等问题

# include <stdio.h>
void main()
{
    int d=8;
    printf("%d %d %d %d %d \n",--d,++d,d++,-d++,-d--);//8,9,8,-8,-8
        /*printf("%d",--d);
        printf("%d",++d);
        printf("%d",d++);
        printf("%d",-d++);
        printf("%d",-d--);*/

}
为什么结果不一样

xueying 发表于 2014-12-29 19:39:06

mark

haovcf 发表于 2015-1-10 12:03:20

亲,不要在测试这种类型的题了,你只要知道i++ 中i的值 下一次用的时候会加1 ,当前 i 值不变,++i , 中i的值立马生效。及时改变。 不同的编译器会对程序有不同的优化,高成结果不一样。

ilboyvm 发表于 2015-1-10 15:49:53

对的,不用再测试了,不同编译器的效果都不同

hacker.jin 发表于 2015-1-10 18:45:36

大致是    i++先应用i的值参与算法后再加         ++i是加了再参与算法
页: [1]
查看完整版本: 求助下 ++a --a 等问题