main()
{
int i=8;
printf("%d\n%d\n%d\n%d\n%d\n%d\n",++i,--i,i--,i++,-i--);
}
运行结果为
7
6
8
7
-8
822
这是怎么回事啊,一点也不符啊
不论是从左到右还是从右到左都不对啊
我想的话,你一定是i++,++i,--i,i--没有分清楚啊
这种结果是正常的,因为在执行是从右到左,首先看
大概的跟你说一下
++i,是先自加之后,然后再输出i的值,同样--i也是一样的
i++,是先输出i的值,然后再自加,或自减,
因为执行顺序是从右到左
所以第一次执行的是-i--,结果为-8
然后执行i++,此时i的值为7
.....,而你最后一个值为822,这个结果我也不知道是为什么,
但是你有没有注意到你参数表差一个参数项