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。

更新於: 2019-07-30

483 次瀏覽

開啟你的 職業

透過完成課程獲取認證

開始
廣告