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

Đăng và tăng trước của mảng trong ngôn ngữ C

Vấn đề

Giải thích bài đăng mảng và khái niệm tăng trước với sự trợ giúp của chương trình C.

Giải pháp

Toán tử tăng dần (++) -

  • Nó được sử dụng để tăng giá trị của một biến lên 1

  • Có hai loại toán tử gia tăng - tăng trước và tăng sau.

  • Toán tử tăng được đặt trước toán hạng trong toán hạng trước và giá trị được tăng đầu tiên và sau đó hoạt động được thực hiện trên đó.

eg: z = ++a; a= a+1
z=a
  • Toán tử tăng dần được đặt sau toán hạng trong gia số sau và giá trị được tăng sau khi thao tác được thực hiện.

eg: z = a++; z=a
a= a+1

Hãy xem xét một ví dụ để truy cập các phần tử cụ thể trong các vị trí bộ nhớ bằng cách sử dụng tăng trước và tăng sau.

Khai báo một mảng có kích thước 5 và khởi tạo thời gian biên dịch. Sau đó, hãy thử gán một giá trị tăng trước cho biến ‘a’.

a=++arr[1] // arr[1]=arr[1]+1
a=arr[1]
b=arr[1]++// b=arr[1]
arr[1]+1

Ví dụ 1

#include<stdio.h>
int main(){
   int a, b, c;
   int arr[5] = {1, 2, 3, 25, 7};
   a = ++arr[1];
   b = arr[1]++;
   c = arr[a++];
   printf("%d--%d--%d", a, b, c);
   return 0;
}

Đầu ra

4--3--25

Giải thích

here, a = ++arr[1]; i.e a = 3 //arr[2];
b = arr[1]++; i.e b = 3 //arr[2];
c = arr[a++]; i.e c = 25 //arr[4];
printf("%d--%d--%d",a, b, c);
printf("%d--%d--%d",4, 3, 25);
Thus 4--3--25 is outputted

Ví dụ 2

Hãy xem xét một ví dụ khác để biết thêm về tăng trước và tăng sau của mảng.

#include<stdio.h>
int main(){
   int a, b, c;
   int arr[5] = {1, 2, 3, 25, 7};
   a = ++arr[3];
   b = arr[3]++;
   c = arr[a++];
   printf("%d--%d--%d", a, b, c);
   return 0;
}

Đầu ra

27--26—0