for循环中i++和++i的对比 C语言

本文深入解析了C语言for循环中i++和++i的区别,虽然两者在循环中的最终效果相同,都会使i的值增加1,但它们的执行过程和效率存在差异。i++在使用当前值后再进行自增,而++i直接进行自增,后者在某些情况下能提供更好的性能。

C语言 for循环中i++和++i的比较

for循环

for (语句1; 语句2; 语句3)
{
循环体
}

语句 1 :初始化,在循环体开始前执行

语句 2 :定义运行循环体的条件

语句 3 :在循环体已被执行之后执行

i++与++i的异同

for(i = 1, i < n, i++) VS for(i = 1, i < n, ++i),运算结果相同,运算时间不同。

for循环中 i++与++ii++++i
运算结果相同相同
运算时间
运算结果相同

for(i = 1, i < n, i++) VS for(i = 1, i < n, ++i)
当for循环进行到第三个表达式的时候:
对第一个for循环,它的式子是i++,也就是先返回i加1之前的数值,然后将i+1。
对第二个for循环,它的式子是++i,也就是先将i+1,然后返回i加1之后的数值。
关键的是,对于i++和++i,并没有变量或函数来接收它们的返回值,所以它们的执行效果是一样的,即,将i+1。
所以程序运行结果是相同的。

运算时间不同
i++

i++是在使用当前值之后再+1,所以需要一个临时的变量来转存。

++i

而++i则是在直接+1,省去了对内存的操作的环节,相对而言能够提高性能。

参考:

https://blog.csdn.net/hippotomons/article/details/88993166
https://www.jianshu.com/p/dd35ffcf6c08
https://www.cnblogs.com/Paul-Yellow/p/10900475.html
Kernighan, Ritchie. C程序设计语言[J]. 2012.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值