C:++ i和i ++有什麼區別?

在C語言中,使用++ii++什麼區別,應該在for循環的增量塊中使用哪一個? 函數


#1樓

請不要擔憂其中哪個更快的「效率」(速度)。 這些天,咱們有負責這些事情的編譯器。 使用任何一種有意義的方法,在此基礎上能夠更清楚地代表您的意圖。 spa


#2樓

a = i ++表示一個包含當前i值a = ++ i表示一個包含遞增i值code


#3樓

i++ :在這種狀況下,首先分配值,而後進行遞增。 視頻

++i :在這種狀況下,首先完成增量,而後分配值 圖片

如下是圖像的可視化效果, 這也是一個演示相同內容的實用視頻get

在此處輸入圖片說明


#4樓

不久: 編譯器

若是您不在函數中編寫它們, ++ii++工做原理相同。 若是使用諸如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

#5樓

++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
相關文章
相關標籤/搜索