自加、自减到底怎么算的?

发布时间:2024-05-21 19:05 发布:上海旅游网

问题描述:

我要的是区别啊。。。
算一算:i=5 j=3
(i++)+(i++)+(i++)=?
(++i)+(++i)+(++i)=?
(--i)-(--i)-(--i)=?
(i__)-(i--)-(i--)=?

问题解答:

把时间浪费在这些无多少实际意义的题目上面,不值得!

只要记住,++、--,前缀是先递变后取值,后缀则是先取值后递变即可。

这样的表达式计算结果依具体的编译器而定。

++i : i先自增再取值
i++ : i先取值,后自增
-- 的同样!

算一算:i=5 j=3
(i++)+(i++)+(i++)=18
(++i)+(++i)+(++i)=21
(--i)-(--i)-(--i)=-1
(i__)-(i--)-(i--)=-2

如果是考题,应该是
(i++)+(i++)+(i++)=18
(++i)+(++i)+(++i)=21
(--i)-(--i)-(--i)=-1
(i--)-(i--)-(i--)=-2

i=5
j=i++ 则j先取5,然后i本身再加1。
j=++i 则j等于6,i本身再加1。

(i++)+(i++)+(i++)=18
(++i)+(++i)+(++i)=19
(--i)-(--i)-(--i)=9
(i__)-(i--)-(i--)=12

做些练习,很快就知道了

只能根据考纲来做了,出题的老师怎么算的就跟着怎么算吧
实际中不同的编译器计算结果相去甚远

i++;计算表达式后再自加
a=0,b=3;
i=3;
a=i++;//a=3
b=i++;//b=4

++i;先自加再计算表达式
a=0,b=3;
i=3;
a=++i;//a=4
b=++i;//b=5

热点新闻