问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

++i和i++有什么区别 请举例说明 谢谢

发布网友 发布时间:2022-04-23 06:08

我来回答

5个回答

热心网友 时间:2023-11-09 10:40

i++和++i命令的区别有:

1、赋值顺序不同

++i是先加后赋值;i++是先赋值后加;++i和i++都是分两步完成的。

因为++i是后面一步才赋值的,所以它能够当作一个变量进行级联赋值,++i=a=b,即++i是一个左值;i++的后面一步是自增,不是左值。

形象的理解可以是i++先做别的事,再自己加1,++i先自己加1,再做别的事情。

2、效率不同

比如i=3,b=i++就是说b=3,完成之后让i变成4,b=++i就是先让i++变成4,然后b=4,其中++i比i++效率要高些。一般来说在循环域里面,这两者并没有什么很大的区别,但是要注意其生存周期,以及i值在程序流中的变化。

3、i++不能作为左值,而++i可以。

左值是对应内存中有确定存储地址的对象的表达式的值,而右值是所有不是左值的表达式的值。一般来说,左值是可以放到赋值符号左边的变量。

但能否被赋值不是区分左值与右值的依据。比如,C++的const左值是不可赋值的;而作为临时对象的右值可能允许被赋值。左值与右值的根本区别在于是否允许取地址&运算符获得对应的内存地址。

比如:

inti=0;

int*p1=&(++i);//正确

int*p2=&(i++);//错误

++i=1;//正确

i++=1;//错误

扩展资料:

1、C语言中,赋值运算的操作是有方向的,即将右侧表达式的值(也称为右值)赋值左侧的变量,只能是标识一个特定存储单元的变量名。

2、由于变量名只能出现在赋值运算符的左边,因此它也被称为左值;由于常量只能出现在赋值运算符的右边,因此它也被称为右值。左值可以用作右值,但右值不能用作左值。

热心网友 时间:2023-11-09 10:40

赋值的时候有区别的,++i是先增1,然后再赋值,i++则是先赋值再增1。

i=1

f=++i

j=i++

这样的话,f=2,j=1,当然i=2了。

i=1

j=++i

则 先将i自加1成为2,此时i=2,j=2,

j=i++

则 j=i+1=2,i仍旧等于1。

赋值语句

将确定的数值赋给变量的语句叫做赋值语句。各程序设计语言有自己的赋值语句,赋值语句也有不同的类型。所赋“值”可以是数字,也可以是字符串和表达式。

注意很多语言都使用“等于号”(即“=”)来作为赋值号,所以可能和和平时的理解不同,在使用的时候应予以注意。

以上内容参考:百度百科-赋值

热心网友 时间:2023-11-09 10:40

简单的来说,++i 和 i++,在单独使用时,就是 i=i+1。
而 a = ++i,相当于 i=i+1; a = i;
而 a = i++,相当于 a = i; i=i+1;

热心网友 时间:2023-11-09 10:41

++i是先自加,后运行。i++是先运行,后自加。
比如
int i=2;
a=++i;
i=2;
b=i++;
在运行之后
a就等于3 b就等于2

热心网友 时间:2023-11-09 10:42

int i=0,k=0, j;
j=++i;//j=1,i=1,参与运算前自加1
j=k++;//j=0,k=1,参与运算后自加1
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
win7不能浏览网页,但用搜狗浏览器高速模式能上网,兼容就不行???求 ... ...64位 IE浏览器无法打开网页 搜狗浏览器可以打开 类似的新窗口网页都... 千牛工作台子账号怎么开权限?子账号的安全设置在哪里? 千牛怎么设置子账号-千牛设置子账号步骤 怎么把CD里的歌曲改成MP3格式? ...戴眼镜吗?想给孩子去检查一下,哪里比较推荐,渭南这块的 Windows Media Player将CD音乐转换为MP3 最简单的方法将CD转换为MP3音频文件(一步一步教你将CD音乐转换为MP3格 ... 孩子最近视力下降了有可能是近视吗?渭南哪里可以免费检查视力啊 奥运会跳远世界纪录 从事人事工作考什么证书好 i++与++i有什么区别是什么? 人力资源专业 和计算机专业哪个更好就业 人力资源管理是文科专业还是理科专业 求*劳动人事学院人力资源管理专业的考研专业课历年真题和参考书目 人力资源的解释 人力资源都考什么啊?有用吗 谁有关于人力资源论文的?小弟急用 中国人力资源前沿网论坛是HR的专业论坛吗? 找出人力资源管理最前沿的、最新专业理论名词,并将该理论的内容,整理成研究报告。要反映该理论从无到有_百度问一问 公务员考试考哪几科2020年? 公务员考几门课程? 公务员考试要考几个小时?考几堂? 公务员考试一年考几次? 公务员考试考几门呢 考? 国家公务员考试都考什么?哪几科? 公务员国考,省考到底考几科? 公务员考试考什么?考几科? 公务员考试考哪几科? 国家公务员考试一般是考几个科目?总分是多少呢? 人事新手,应该看什么书 请教i++与++i的区别 工商管理和 人力资源管理 哪个好点? “i++”和“++i”的区别 如何将心理学应用到人力资源管理当中 十万火急!!!关于专业问题? i =1; 和i=i 1;有什么区别 管理学就业方向及前景 i++和 ++i的区别 上海师范大学法政学院的专业设置 三步踩abc中的a步b步和i步的区别在哪 教育学是什么样的一门学科,怎样去学好它? 新时期石油石化企业地质档案人力资源管理策略 Java里面i++和++i到底有什么区别? 自增运算符i++和++i的区别 for(i=1;i>n;i++)与for(i=1;i>n;++i)有何区 英语句子中用到的I与I am(I'm)的区别?谁能告诉我的用法意义,谢谢! 详细解释一下++i和i++的区别 I步的长度是怎样测量的 工行i类和ii类区别