问答文章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 15:18

我来回答

15个回答

热心网友 时间:2022-04-04 19:11

i++ 与 ++i 的主要区别有两个:

一、 i++ 返回原来的值,++i 返回加1后的值。

例如在Java中:

public class Test{

public static void main(String [] args){

int i = 1;

int s = ++i;

int x= i++;

System.out.printLn(i);

System.out.printLn(s);

System.out.printLn(x);

}

}

答案:“3, 2, 2”。

解析:i++改变的只有i,++i既改变i,又改变赋值变量;

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

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

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

比如:

int i = 0;

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

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

++i = 1;//正确

i++ = 1;//错误

扩展资料

++i 和i++ 的使用,一般来说在循环域里面,这两者并没有什么很大的区别,因为编译器一般都会给你做优化。但是要注意其生存周期,以及很难察觉的写脏,就好像指针delete以后一定要赋予0一样,我们要注意i值在程序流中的变化。

使用具体解释:

解释一:++i的返回值是i+1,并且i=i+1;

i++的返回值是i,并且i=i+1;

也就是如果i=1,那么j=++i=2,j=i++=1。

解释二:i=1;

如果y=++i;

就需要把++和i相加的数值赋给y也就是2;

如果y=i++的话;

那没饿y的值就是1;

因为++在后面的话这种情况要先赋值所以等于1。

热心网友 时间:2022-04-04 20:29

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


1、赋值顺序不同


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

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


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


2、单独使用时一样


独立使用时++i 和 i++二者效果一样,就是 i=i+1。表达式中i++取i的值参与运算,而++i取i+1的值参与运算。举例 a = ++i,相当于 i=i+1; a = i; a = i++,相当于 a = i; i=i+1。


3、效率不同


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


扩展资料:


++i 和i++ 的使用,一般来说在循环域里面,这两者并没有什么很大的区别,因为编译器一般都会给你做优化。但是要注意其生存周期,以及很难察觉的写脏,就好像指针delete以后一定要赋予0一样,我们要注意i值在程序流中的变化。


使用具体解释:


解释一:++i的返回值是i+1,并且i=i+1;


i++的返回值是i,并且i=i+1;


也就是如果i=1,那么j=++i=2,j=i++=1。


解释二:i=1;


如果y=++i;


就需要把++和i相加的数值赋给y也就是2;


如果y=i++的话;


那y的值就是1;


因为++在后面的话这种情况要先赋值所以等于1。

参考资料:百度百科-++

热心网友 时间:2022-04-04 22:04

i++和++i命令都是C语言中的语法,i++和++i命令i++和++i命令的区别有:

1、赋值顺序不同

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

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

2、单独使用时一样

独立使用时++i 和 i++二者效果一样,就是 i=i+1。表达式中i++取i的值参与运算,而++i取i+1的值参与运算。举例 a = ++i,相当于 i=i+1; a = i; a = i++,相当于 a = i; i=i+1。

3、效率不同

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

参考资料:百度百科——++

热心网友 时间:2022-04-04 23:55

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

1、i++是先使用i,再赋值计算,即就是在计算程序时,先把 i 的值拿来用,然后在自增1。

2、++i是先赋值计算,再使用,即就是在计算程序时,是想把 i 自增1然后拿来用。

3、 ++i,在字节码层面,会先进行iinc,也就是执行自增,然后load变量。

4、 i++,则是,先load变量,后自增(因为已经load,所以本次自增,并不会影响已经load的变量值)。

比如:

for(i=0;i<10;i++)

i先使用,用完最后在i++

for(i=0;i<10;++i)

i先自增,然后再用。

扩展资料:

i++和++i命令在C语言中代码的表示:

++i相当于下列代码:

i += 1;

return i;

i++相当于下列代码:

j = i;

i += 1;

return j;

参考资料来源:百度百科-++

热心网友 时间:2022-04-05 02:03

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左值是不可赋值的;而作为临时对象的右值可能允许被赋值。左值与右值的根本区别在于是否允许取地址&运算符获得对应的内存地址。

比如:

int i = 0;

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

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

++i = 1;//正确

i++ = 1;//错误

扩展资料

当i=5时,s=(++i)+(++i)和s=(i++)+(i++)的值:

1、当i=5时,s=(++i)+(++i)=13 先算第一个(++i),++在前面,就把i先加1再把赋值,即先把i变为6然后再得出(++i)的值为6,这时i已经变为6了,

再计算第二个(++i),++在前面也是先把i加1后再赋值,不过这时的i已经为6了,第一步的时候把i变成6了的,然后加1的话就变成7了,所以第二个(++i)的值为7,s=(++i)+(++i)=6+7=13。

2、s=(i++)+(i++)=11 先算第一个(i++),i在前面,就先赋值再把i加1,即(i++)的值为5,i的值变为6,第二个(i++),i在前面,先赋值再把i加1,这个时候的i已经为6了,即(i++)的值为6,而i已经变为7了。所以s=(i++)+(i++)=5+6=11。

参考资料来源:百度百科-自增自减运算符

参考资料来源:百度百科-++

热心网友 时间:2022-04-05 04:28

1、赋值顺序不同:

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

i ++ 是先赋值后加;i++ 的后面一步是自增,不是左值。

++i和i++都是分两步完成的。

2、效率不同:

比如i=3,b=i++就是说b=3,完成之后让i变成4,b=++i就是先让i++变成4,然后b=4,其中++i比i++效率要高些。

3、操作完成后,值不同:

对于n=++ i ,进行操作后,n的值发生了改变,其值变成了i+1。

对于n=i++ ,进行操作后,n的值不发生改变,其值仍然为i。

参考资料

百度百科-++

热心网友 时间:2022-04-05 07:09

一直以来,++ --语法浪费了太多人的时间。说句实在话,++ -- 在C语言中其实是一个很细节的语法,除了表达简练外,真的没有什么其它的好处了。
由于中国的C语言教程长期以来被谭浩强主宰,而谭又错误的把++ --作为一个C语言重点来教,并增加了一些难点,把本来很简单的语法,搞得复杂无比!

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

如果实在搞不明白++ --怎么回事,那也不是什么天塌下来的事。
因为a=++i完全可以写成 i++; a=i。
a=i++完全可以写成 a=i; i++。
而且,这也是一种好的程序风格:++ -- 语句如非特殊需要,请单独一行使用。

参考资料:http://zhidao.baidu.com/question/12961074.html

热心网友 时间:2022-04-05 10:07

i++是先把i的值拿来用,然后在自增1
++i是想把i自增1然后拿来用
比如:
for(i=0;i<10;i++)
i先使用,用完最后在i++
for(i=0;i<10;++i)
i先自增,然后在用
理解把!

热心网友 时间:2022-04-05 13:22

i++是先把i的值拿来用,然后在自增1
++i是想把i自增1然后拿来用

比如:
for(i=0;i<10;i++)
i先使用,用完最后在i++
for(i=0;i<10;++i)
i先自增,然后再用

热心网友 时间:2022-04-05 16:53

i++就是反回(一般来说)i值i再加1,
++i是i加一再返回i值...
如下的话:
int i=0;a=1;
a=a+i++;
cout <<"a="<<a<<endl;
a=a+(++i);
cout <<"a="<<a<<endl;
回输出
a=1
a=3

热心网友 时间:2022-04-05 20:41

1、单独使用时
i++和++i没有区别,都是自增1
2、进行运算时
i++是 i 先运算在加1
++i是 i 先加1再运算

热心网友 时间:2022-04-06 00:46

第一个是先取i的值,然后再把i加一,第二个是先把i加一,再取i的值

热心网友 时间:2022-04-06 05:07

刚好做题到这里,产生了疑问,现在来把自己的想法写下来。
i++翻译一下,就是先运算,后加,
++i翻译一下,就是先加,再运算,和加号顺序相应记。
比如sum+=++i;
就是i=i+1;sum=sum+i;
再比如sum+=i++;
sum=sum+i;i=i+1;

热心网友 时间:2022-04-06 09:45

i++ 返回原来的值,++i 返回加1后的值。

热心网友 时间:2022-04-06 14:40

1. ++在前表示先计算后执行
2. ++在后表示先执行后计算
cad图纸中i和l有什么区别?

cad图纸里的i和L代表在建(施)筑图中“L”代表长度,或某个文词(字)的拼音第一位字母。就是可以将其它的独立文件,完整地插入当前文件的命令,与外部引用不同,插入的文件已经完全属于当前图纸了,修改这个块,不会对原文件有影响。当然,插入的时候也可以直接分解,这样原来的块就不会存在于当前...

还在找smart proxy?

SmartProxy企业级海外住宅IP代理服务商,覆盖全球200+国家和地区,高匿稳定,动态住宅代理/静态住宅代理/账密提取,100%原生住宅IP,城市级定位,支持HTTP/HTTPS/SOCKS5协议,不限带宽,纯净高匿,网络集成更快捷,注册即送流量!Smartproxy代理...

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

1、执行时间先后顺序不同。++i 先执行i+1后执行程序 i++ 先执行程序后执行i+1 int i=8; printf("%d\n",++i),先执行加法所以打印出来的是9 printf("%d\n",--i)。2、执行减法的先后程序不同。先执行减法 打印出来是8 printf("%d\n",i++)。先执行程序 打印出来是8 打印结束后i为99...

in和ing有什么区别?

in发音时,先发i,然后舌尖向上齿龈移动,抵住上齿龈,发鼻音n。例如“拼音”、“尽心”的韵母。ing发音时,先发i,舌头后缩,舌根抵住软腭,发后鼻音ng。例如:“定型”、“ 命令”的韵母。in:是前鼻韵,由口出气。发in的时候舌头基本是平放。ing:是后鼻韵。由鼻腔出气。发ing的时候,舌头有...

i++和++i命令有什么区别?

1、赋值顺序不同 ++ i 是先加后赋值;i ++ 是先赋值后加;++i和i++都是分两步完成的。因为++i 是后面一步才赋值的,所以它能够当作一个变量进行级联赋值,++i = a =b,即 ++i 是一个左值;i++ 的后面一步是自增,不是左值。形象的理解可以是i++先做别的事,再自己加1,++i先自己...

cad如何绘制阵列命令I?

1、首先可以先画出一个图形,作为阵列的基础图形。2、然后在默认选项中,点击阵列下拉箭头。3、然后点击环形阵列来演示。4、然后选中圆形,按一下回车。5、然后点击一个点作为阵列的中心,也可以手动输入距离,按一下回车。6、然后输入命令I,按一下回车按键。7、然后输入阵列的数量,按回车按键。8、...

dos命令提示符中I代表什么

不是I吧,这有啥好问的,估计你是问|代表什么,按此理解来回答。|被成为“管道”,用于多个命令协作,把前一个命令的输出作为后一个的输入,举例如下:dir|more 把dir的输出送给more作为输入,达到一屏一屏地显示的意图,和dir /p功能相仿 dir /b|findstr "abc"把dir的输出送给findstr,看看文件...

i++和++i命令有什么区别?

2. 操作顺序的区别:i++: 先返回变量 i 的当前值,然后再执行加 1 操作。这意味着在表达式中,如果使用了 i++,那么表达式的值会是 i 的原始值,而在表达式执行完毕后,i 的值会增加。++i: 先执行加 1 操作,然后返回新的值。在表达式中使用 ++i 时,表达式的值会是 i 增加后的值。3...

命令cp -a 和 cp -p 有什么区别?

cp命令中参数不同意义也不同。cp (复制档案或目录)参数:-a :相当于 -pdr 的意思(参数pdr分别为:保留权限,复制软链接本身,递归复制 );-p :连同档案的属性一起复制过去,而非使用预设属性;其他参数意义:-d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身;-f...

i++和++i命令有什么区别?

i++ 与 ++i 的主要区别有两个:一、 i++ 返回原来的值,++i 返回加1后的值。例如在Java中:public class Test{ public static void main(String [] args){ int i = 1;int s = ++i;int x= i++;System.out.printLn(i);System.out.printLn(s);System.out.printLn(x);} } 答...

dos命令提示符中I代表什么

不是I吧,这有啥好问的,估计你是问|代表什么,按此理解来回答。|被成为“管道”,用于多个命令协作,把前一个命令的输出作为后一个的输入,举例如下:dir|more 把dir的输出送给more作为输入,达到一屏一屏地显示的意图,和dir /p功能相仿 dir /b|findstr "abc" 把dir的输出送给findstr,...

命令和指令有什么区别不同 要求和命令有什么区别 得到命令和接到命令的区别 决定和命令有啥区别 命令和决定的区别 通知与命令决定的区别 linux分区命令 ping命令的格式有哪些 ping命令格式和功能
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
关于macbook pro无线上网的问题 苹果macbook pro怎么上网? 大理两日游,如何合理安排住宿? 大理五日游,如何安排住宿比较合理? 去大理旅游该怎么挑性价比高的民宿? 铠侠256G高速TF卡,轻松搞定Switch和微软surface Pro扩容 双子双鱼是什么意思啊? 日双鱼 月双子的人什么性格 抖音私信删除之后还能查到吗? 人民币小写符号"¥"怎么读? 我国的地方良种猪有哪些? 国际音标[i]和[&#x026A;]发音有什么区别 两广小花猪有哪些主要特性? 英语中音标中 i 和I两者的区别? /i:/与/i/的发音区别, /i: /和/i/的发音方法和区别? 请问i和I有什么区别?i没有: 元音i:与i的区别 音标i和I读音有区别吗? 在英文词语里,i 与l 区分? 英语音标/I/与/i/ 读音区别? 王者荣耀怎么接单代练 英语音标里I和i有什么区别 音标中的[I]与[i]有区别吗? 异地恋七夕怎么在朋友圈秀恩爱? 七夕有什么特别的安排 女生进来,感情问题,帮忙分析分析 新生儿奶粉选择哪一款比较好? 新生儿喝什么奶粉最好 我深爱她,七夕表白才知她有男朋友,我们是一起共事的同事,我都不知道怎么办了。 淘宝上的泰国香猪是真的吗?真的长不大吗?好像很多都是大肥猪诶。还有巴马香猪长得大吗?可以当宠物吗? 我国有哪些主要地方良种? 12306APP每天几点开始可以放票,新更新那天的谢谢 12306一天放几次票,都是几点放 什么机油对发动机清洗好,效果持久? 品牌机油排行榜前十名哪个清洁性能最好? 找别人借钱怎么开口比较好 对发动机清洁效果好的机油那品牌最好? 换什么机油是机油自带清洗的性质的呢? 什么品牌机油清洁能能力好,而且见效快? 清洗发动机用啥机油好? 怎么开口问人借钱啊?有什么好的借口啊? 机油排行榜中哪款性能好,清洁能力强? 怎么找朋友借钱 发动机机油品牌里哪个清洁功能好一点? 问别人借钱怎么开口比较好 机油哪个牌子的清洁能力好? 怎么跟别人借钱?不好张口啊 清洁能力哪个机油好? 如何开口向别人借钱,什麼样的理由最好?