Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Thực thi printf với toán tử ++ trong C


Xem xét hành vi printf khi tham số chứa toán tử ++. Hầu hết trình biên dịch đánh giá tham số từ phải sang trái.

Ví dụ

#include <stdio.h>

int main() {
    volatile int x = 20;
    printf("%d %d\n", x, x++);
    x = 20;
    printf("%d %d\n", x++, x);
    x = 20;
    printf("%d %d %d ", x, x++, ++x);
    return 0;
}

Kết quả

21 20
20 20
22 21 21

Giải thích: tham số cuối cùng được đánh giá trước. x++ in giá trị cũ rồi tăng, ++x tăng rồi in.