C 語言中函式引數的求值順序是什麼?
我們向一些函式傳遞不同的自變數。現在我們可能會產生一個疑問,即函式引數的求值順序是什麼。是自左向右,還是自右向左?
為了檢查求值順序,我們將使用一個簡單的程式。這裡要傳遞一些引數。透過輸出我們可以查明它們的求值方式。
示例程式碼
#include<stdio.h> void test_function(int x, int y, int z) { printf("The value of x: %d
", x); printf("The value of y: %d
", y); printf("The value of z: %d
", z); } main() { int a = 10; test_function(a++, a++, a++); }
輸出
The value of x: 12 The value of y: 11 The value of z: 10
從該輸出中我們可以輕易理解求值順序。首先取 z,因此它持有 10,然後取 y,因此它為 11,最後取 x。因此,其值為 12。
廣告