office 新手常见问题求助一个i++和++i的问题

-i++怎么运算的????还有i++和++i有什么区别?_百度知道
-i++怎么运算的????还有i++和++i有什么区别?
我有更好的答案
1,-i++,先执行负号运算符,然后执行++运算。2,i++:先将i赋值于表达式,然后i执行++运算。3,++i:先i执行++运算,然后将i赋值于表达式。4,两个的区别在于,前一个表达式值是i,后一个表达式值是i+1,对于i来说,执行后,i都+1
采纳率:78%
来自团队:
可以分析一下,对于++和--运算符,是对于变量而言的,也就是说它操作的对象必须是个确定的变量,如果-i++意思是(-i)++,显然++运算是对于-i而言的,而-i是一个表达式,显然错误,这和(a+b)++是一样的错误,到底自加后的结果存到a还是b里呢?所以应该理解成-(i++)
对于i++和++i的区别是先使用i的值还是先把i进行加1操作当i=1时,对于b=i++,意思是b=i=1,然后i=i+1,对于b=++i,意思是i=i+1,然后b=i=2
本回答被提问者和网友采纳
-i++:先取反,完后i自加1,也就是i+1;i++是先运算与i有关的表达式,最后i+1,++i是先将i+1,完后运算与i有关的表达式。
-i的意思会被看成整体一个变量,不然的话,没有声明-i,而单独用这样的表达式,应该是会报错的。i++,后加指需要执行完当前这条语句之后,i再加1,即是不影响当前表达式的i值++i前加,当前执行到这个表达式时就加1,也就是i变成i+1进行运算
i++:参与运算后i的值加1,++i:i的值先加1在运算;
-i++是 -i;i++
其他3条回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。在C++语言中,i++与++i有什么区别?那i--和--i呢_百度知道
在C++语言中,i++与++i有什么区别?那i--和--i呢
我有更好的答案
后自增i++与前自增++i本身都是先进行自增(++)操作,然后在进行赋值等操作,但是这里容易搞错的问题是:后自增操作符即i++返回的是将操作数原来的、未修改的值作为表达式的结果值;前自增操作符即++i返回的是将修改后的的操作数的值作为表达式的结果值。尤其要注意的是:在这之后前自增和后自增中i值都增加了1。
下面来看一个例子:#include &iostream&int main ( ){
int i = 10, j = 10;
cout && &a = & && a && & b = & && b &&return 0;}可以预测结果为: a = 10 b = 11
我们将此程序编译运行后发现,结果确实如此。现在应该明白了吧。同理i--和--i也是如此
采纳率:32%
i++就是先用i再++ ++i就是先++在用i ++就是+1的意思 ... 比如i=3; b=i++就是说b=3,完成之后让i变成4 b=++i就是先让i++变成4,然后b=4 其中++i比i++效率要高些
两者都是i的自加,也就是说两个运算执行之后i都是比原来大1,不同的它们都是表达式,表达式++i的值就是i自加后的值,而++i是i自加前的值,同理--i与i--也是这个道理
这种算法要用例子才能说明的了!比较全面的例子好像这样:当i=5时,求s=(++i)+(++i)和s=(i++)+(i++)的值当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.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.相信你看得懂这个例子,基本上就会怎么算了!i--和--i跟i++和i++是一样算法的,只不过一个是加一个是减!
------白猪(幸福快乐)
给你举个例子啊:int a=0,b=0,i=1;a = i++;b = ++i;那么输出的结果 a=1,b=2;因为 i++,是先将i的值赋给 a,然后i再+1++i是先将i+1,也就是2,然后再赋给b自己体会一下。。。
先做与后做的关系,在前的就先做计算,在后的就先做取值
其他6条回答
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。C语言中i++与++i那个速度快?_百度知道
C语言中i++与++i那个速度快?
我有更好的答案
前置的自增运算符(++i)速度快,因为前置的自增后直接返回引用,而后置的先定义一个临时变量,把值赋给临时变量,然后自增,返回临时变量
采纳率:51%
在vc环境中编译后查看反编译汇编代码的条数是相同的
第一个先使用后自加,第二个先增加1后使用
为您推荐:
其他类似问题
c语言的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。一段关于if语句中i++的问题_百度知道
一段关于if语句中i++的问题
if(a == i++){}if语句是不是不管判断成功失败i都加了1
我有更好的答案
++和--一样都是事后执行,所以判断代码a==i之后i都会加1或减1,如果--i,++i就不一样了,执行前分别减去1和加上1,IF后面执行语句根本不会影响对i的运算。
采纳率:54%
是的,无论如何,i都会加1.
本回答被提问者采纳
为您推荐:
其他类似问题
if语句的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。百度知道 - 信息提示
知道宝贝找不到问题了&_&!!
该问题可能已经失效。
秒以后自动返回

我要回帖

更多关于 i wanna新手 的文章

 

随机推荐