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