Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ลำดับการประเมินของพารามิเตอร์ฟังก์ชันใน C คืออะไร?


เราส่งผ่านอาร์กิวเมนต์ที่แตกต่างกันไปยังฟังก์ชันบางอย่าง ตอนนี้คำถามหนึ่งอาจเข้ามาในหัวของเราว่าลำดับของการประเมินพารามิเตอร์ฟังก์ชันเป็นอย่างไร มันซ้ายไปขวาหรือขวาไปซ้าย?

ในการตรวจสอบลำดับการประเมิน เราจะใช้โปรแกรมอย่างง่าย พารามิเตอร์บางตัวกำลังส่งผ่าน จากผลลัพธ์ เราจะพบว่ามีการประเมินอย่างไร

โค้ดตัวอย่าง

#include<stdio.h>
void test_function(int x, int y, int z) {
   printf("The value of x: %d\n", x);
   printf("The value of y: %d\n", y);
   printf("The value of z: %d\n", 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