0

どれだけトピックを読んでも評価戦略が理解できません。3 つの評価順序について、例を挙げて説明してもらえますか? 以下にコードを書いています。以下のコードを使用して、必要に応じて呼び出し (遅延評価)、名前で呼び出し (通常の順序評価)、参照によって呼び出しを説明できますか。あなたの例でそれらを説明することもできます。私はそれらを理解したいだけですが、理解できません。

int a[4] = {10,20,30,40};
int i = 0;
int *p;
void test(int x, int y, int z)
{
    p = (int *)malloc(sizeof(int));
    *p=x;
    x++; y++; z++;
    p = &z;
    printf("%d %d %d\n",x,y,z);
    x++; y++; z++;
    p = &z;
    printf("%d %d %d\n",x,y,z);
}
main()
{
    test(i,a[0],a[i]);
    printf("%d %d %d %d %d\n", a[0],a[1],a[2],a[3],*p);
}

前もって感謝します。

}

4

1 に答える 1