Computer >> Máy Tính >  >> Lập trình >> lập trình C

Sự khác biệt giữa ++ i và i ++ trong c là gì?

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);

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