求助 c++问题

求助c++问题for(i=3;i>0;i--)cout<<i;和for(i=3;i>0;---i)cout<<i;输出结果有什么不同?... 求助 c++问题for(i=3;i>0;i--)
cout<<i;

for(i=3;i>0;---i)
cout<<i;
输出结果有什么不同?
展开
 我来答
风若远去何人留
2017-12-26 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450132
专业C/C++软件开发

向TA提问 私信TA
展开全部

后面一个 多打了一个减号.

for(i=3;i>0;i--)
    cout<<i;

for(i=3;i>0;--i)
    cout<<i;

从功能上来看, i--是先取值 再自减. --i是先自减再取值. 但由于是独立语句,所以没有任何影响.

即, 二者功能完全相同. 

从效率上来说, 理论上i--会产生一个临时副本, 先取值再赋值. 而--i则直接减,然后取值. 这样--i应该比i--效率略高.

但实际运行上影响微乎其微. 尤其现在大多数编译器,在发现单独的i--时,都直接优化成--i. 所以这方面也没什么区别.

综上,二者可以随意使用,无差别.

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式