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

Tiền tố và hậu tố tăng/giảm của mảng trong C


Vấn đề

Giải thích khái niệm tiền tố/hậu tố tăng/giảm của mảng qua chương trình C.

Giải pháp

Toán tử tăng (++):

  • Tăng giá trị biến lên 1.
  • Hai loại: tiền tố (++a) và hậu tố (a++).
  • Tiền tố: toán tử đứng trước toán hạng, giá trị tăng trước rồi thực hiện phép toán.
ví dụ: z = ++a; a= a+1; z=a
  • Hậu tố: toán tử đứng sau toán hạng, giá trị tăng sau khi thực hiện phép toán.
ví dụ: z = a++; z=a; a= a+1

Ví dụ truy cập phần tử bộ nhớ bằng tiền/hậu tố:

Khai báo mảng kích thước 5, khởi tạo tại compile time. Gán giá trị tiền tố 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; }

Kết quả

4--3--25

Giải thích

a = ++arr[1]; tức a = 3 //arr[2]; b = arr[1]++; tức b = 3 //arr[2]; c = arr[a++]; tức c = 25 //arr[4]; printf("%d--%d--%d",a, b, c); printf("%d--%d--%d",4, 3, 25); Kết quả: 4--3--25

Ví dụ 2

#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; }

Kết quả

27--26—0