760537631 发表于 2018-3-11 11:42:34

i++

为啥++i还是8 i++变成7了 --i还是7

萧梦晓 发表于 2018-3-11 12:03:45

你这是错的啊。。。。自加自减不能这么用的

Zmynx_2017 发表于 2018-3-11 12:07:45

你可以这样试试,这样结果是符合预期结果的。

萧梦晓 发表于 2018-3-11 12:08:21

哎,你看看书吧,树上是有对i++和++i的定义的,然后再自己打代码各种尝试,

#include<stdio.h>
int main(void)
{
        int i=8;

        i++;
        printf("%d",i++);
        return 0;
}

你试试就这样各种尝试吧

Zmynx_2017 发表于 2018-3-11 12:08:23

这样

Dr丶温 发表于 2018-3-12 07:39:13

因为printf()函数是从后面的参数开始执行的,i, ++i,i++,--i,i--,i
倒着执行,
第一个数是最后面的i 8
第二个数数i--,因为是后缀的,所以还是8
。。。。这样到第一个i

徒梦 发表于 2018-3-12 12:07:57

i++//是先使用i的参数,再进行++
++i //是先进行++,再使用i

--是同理,这么理解会好理解些

酒觉 发表于 2018-3-15 09:56:53

好像有的是因为编译器优化后的结果 具体可以百度
页: [1]
查看完整版本: i++