在C语言中,使用++i
和i++
什么区别,应该在for
循环的增量块中使用哪一个? 函数
请不要担忧其中哪个更快的“效率”(速度)。 这些天,咱们有负责这些事情的编译器。 使用任何一种有意义的方法,在此基础上能够更清楚地代表您的意图。 spa
a = i ++表示一个包含当前i值a = ++ i表示一个包含递增i值code
i++
:在这种状况下,首先分配值,而后进行递增。 视频
++i
:在这种状况下,首先完成增量,而后分配值 图片
如下是图像的可视化效果, 这也是一个演示相同内容的实用视频 。 get
不久: 编译器
若是您不在函数中编写它们, ++i
和i++
工做原理相同。 若是使用诸如function(i++)
或function(++i)
东西,则能够看到区别。 it
function(++i)
表示首先将i递增1,而后将该i
放入具备新值的函数中。 io
function(i++)
表示先将i
放入函数中,而后再将i
递增1。 编译
int i=4; printf("%d\n",pow(++i,2));//it prints 25 and i is 5 now i=4; printf("%d",pow(i++,2));//it prints 16 i is 5 now
++i
:是前递增,另外一个是后递增。
i++
:获取元素,而后递增。
++i
:使++i
递增,而后返回该元素。
例:
int i = 0; printf("i: %d\n", i); printf("i++: %d\n", i++); printf("++i: %d\n", ++i);
输出:
i: 0 i++: 0 ++i: 2