回覆列表
  • 1 # 豔麗你好

    主要差異在於返回值,相同點在於對i進行自加:

    ++i返回的是i自加後的內容,i++返回的是i未自加的內容。

    舉個例子:

    int i = 10;

    a = i++;

    vs

    int i = 10;

    b = ++i;

    結果分別是 i = 11, a = 10和 i = 11, b = 11。

    將i++和++i彙編結果,若沒有使用其返回值賦值特性,結果是一樣的,有返回值差異在於彙編程式碼執行先後(先自加還是先賦值)區別。

    另外,關於for(i = 0; i < n; i++)與for(i = 0; i < n; ++i) 有差異的說法是扯淡的。現在我們看到的編譯器,基本都會彙編成相同的程式碼(好像有基本經典教程說有差異,那只是針對古老的編譯器)。

  • 2 # 陶白

    1、a = i++;

    相當於 a = i; i++;

    2、a = ++i;

    相當於 i++; a = i;

    3、int i=4;

    int j=4;

    int a = i++;

    int b = ++j;

    printf("%d, %d\n", a, b);

    結果是4,5。

  • 中秋節和大豐收的關聯?
  • 什麼是複合材料,分類有哪些?