++i、--i和i++、i--的区别理解

#include<stdio.h>voidmain(){inti=8;printf("%d\n",++i);//printf("%d\n",--i);//printf("... #include<stdio.h> void main() { int i=8; printf("%d\n",++i);// printf("%d\n",--i);// printf("%d\n",i++);// printf("%d\n",i--);// printf("%d\n",-i++);// printf("%d\n",-i--);// } 输出结果为 9 8 8 9 -8 -9 求分析 展开
 我来答
姓撞淘I
高粉答主

2020-03-07 · 每个回答都超有意思的
知道答主
回答量:24.2万
采纳率:1%
帮助的人:1.3亿
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ziguowen
2008-12-06 · TA获得超过2723个赞
知道小有建树答主
回答量:785
采纳率:35%
帮助的人:359万
展开全部
关于自增自减运算,很多书籍没有把问题讲清楚,在C语言里是这样的:

1.后置运算:k++表示先运算,后自加。
意思是遇到k++了,我先把当前的k的值拿来参加运算,后面再去管它的自加。
那么,【“后面”后到什么程度呢?要后到当前的语句执行完,即遇到分号;表示
语句执行完了,所以k才自加1。】

如:int k=5,b=0;
b=k++;的意思就是,先算b=k(即b=5),遇到分号;表示语句结束,k才自加1,即k变为6。

2.前置运算:++k表示先自加,后运算
这个意思就是遇到++k了,先把k的值加了1,再往后执行别的。

如:int k=5,b=0;
b=++k;的意思就是,先把k自加1,即k为6,再算b=k(即b=6)。

掌握好这两点,k--和--k也是一样的道理。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lytttttt
2008-12-06 · TA获得超过384个赞
知道小有建树答主
回答量:286
采纳率:0%
帮助的人:303万
展开全部
++i是在进行运算之前使i自增1,再用增后的值进行运算
i++是在进行运算之后才使i增1,使用原值进行运算一次后,再使i自增1
你运行一下这个再体会体会就明白了:
i=1;j=1;k=1;t=1;
m1=i++ + i++;
m2=++j + ++j;
m3=k++ + ++k;
m4=++t + ++t;
(注:自增自减速运算只能对变量进行,常量和表达式不能进行该运算)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式