在C++语言中,i++与++i有什么区别

 我来答
百度网友ec21859
2018-04-28 · TA获得超过116个赞
知道小有建树答主
回答量:127
采纳率:79%
帮助的人:120万
展开全部

两者都会将i自增1,区别是返回值。

i++返回i自增之前的值,++i返回i自增之后的值。

比如,i=1

  • a=i++,则a=1,i=2,a为i自增前的值

  • a=++i,则a=2,i=2,a为i自增后的值

fallx
2018-04-28 · TA获得超过5488个赞
知道大有可为答主
回答量:2321
采纳率:73%
帮助的人:861万
展开全部

先看一段代码:

#include <studio.h>
int main() {
int i,x;
i = 1;
x = 1;
x = i ++;        //先让x变成i的值1,再让i加1
print("%d", x);     //x=1
print("%d", i);     //i=2

i = 1;
x = 1;
x = ++i;        //先让i加1, 再让x变成i的值2
print("%d", x);    //x=2
print("%d", i);    //i=2
}

++和++i的区别就是:

i++ :先引用,后增加
++i :先增加,后引用

换句话就是:

i++ : 先在i所在的表达式中使用i的当前值,再让i加1
++i : 先让i加1,再在i所在的表达式中使用i的新值

取决于++和i的相对位置:

++在i前面,i先加1,然后在表达式中用i的值;++在i后面,先在表达式中用i的值,然后i再加1。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式