Trong C, các toán tử ++ và - được gọi là các toán tử tăng và giảm. Chúng là toán tử một ngôi chỉ cần một toán hạng. Do đó, toán tử ++ cũng như - có thể xuất hiện trước hoặc sau toán hạng với cùng tác dụng.
Điều đó có nghĩa là cả i ++ và ++ i sẽ tương đương nhau.
i=5;
i++;
printf("%d",i); và
i=5
++i;
printf("%d",i); cả hai sẽ làm cho i =6.
Tuy nhiên, khi biểu thức tăng dần được sử dụng cùng với toán tử gán, thì quyền ưu tiên của toán tử sẽ xuất hiện.
i=5; j=i++;
Trong trường hợp này, mức độ ưu tiên của =cao hơn postfix ++. Vì vậy, giá trị của i được gán cho i trước khi tăng i. Ở đây j trở thành 5 và tôi trở thành 6.
i=5; j=++i;
Trong trường hợp này, mức độ ưu tiên của tiền tố ++ nhiều hơn toán tử =. Vì vậy, tôi sẽ tăng trước và giá trị tăng dần được gán cho j Ở đây tôi và j đều trở thành 6.
#include <stdio.h>
int main() {
int i=5,j;
j=i++;
printf ("\nafter postfix increment i=%d j=%d", i,j);
i=5;
j=++i;
printf ("\n after prefix increment i=%d j=%d",i,j);
return 0;
} Đầu ra là
after postfix increment i=6 j=5 after prefix increment i=6 j=6