C++语言中,既有++i,又有i++,请问有何区别?

 我来答
197077954
2008-11-01 · 超过12用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:0
展开全部
1 首先要知道表达式的值的概念
2 假设你知道1:
++i和i++对i的影响都一样
int i = 0;
int m = ++i; //i=1
int j = 0;
int n = j++; //j=1;
那么他们的区别在那里呢:
把++i和j++看成一个整体,它们相当于两个表达式,这两个表达式的值不同
前自增表达式的值就是自增后i的值,所以:m = 1;
后自增表达式的值是自增以前j的值,所以:n = 0;
hitingfeng
2008-11-01
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
++i和i++他们的 结果都使i变为i+1.
只是++i用的结果是i+1,i++用的结果是i
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniappEYyiGZWDRNVyz
2008-11-01 · TA获得超过308个赞
知道小有建树答主
回答量:1387
采纳率:0%
帮助的人:639万
展开全部
++I,是先加,I++是后加
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一苦嵩来
2008-11-01 · TA获得超过507个赞
知道答主
回答量:156
采纳率:0%
帮助的人:120万
展开全部
int i=1;
printf("%d",++i);结果是2 先加 后执行
i=1;
printf("%d",i++); 结果是1 先执行 后加
printf("%d",i);结果是2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我的在在岁月6v
2008-11-02 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:275
采纳率:0%
帮助的人:138万
展开全部
++i的意思是先给i加1后再把得出的值赋给变量,而i++则是先把i的值赋给变量,然后再给i加1.
举个列子说:m=2,i=1;
m=++i,就是先给i加1,也就是i=2,然后再把结果给m,m=4,最后的结果是m=4,i=2,表达式的结果是4;
m=i++,就是先将i赋给m,m=3,然后再给i加1,i=2,最后的结果m=3,i=2,表达式的结果是3.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dainanqing
2008-11-02 · TA获得超过144个赞
知道答主
回答量:109
采纳率:0%
帮助的人:0
展开全部
看书,这种问题也发帖
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(11)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式