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

Hành vi toán tử tiền tố và hậu tố tăng/giảm trong C, C++, Java, và C#


Toán tử tiền tố tăng (pre-increment) và hậu tố tăng (post-increment) đều được dùng như các phép tăng. Toán tử tiền tố tăng dùng để tăng giá trị của biến trước khi dùng nó trong biểu thức. Trong tiền tố tăng, giá trị được tăng trước, sau đó dùng bên trong biểu thức.

Nếu biểu thức là a = ++b; và b giữ giá trị 5, thì a sẽ giữ 6. Vì tăng b lên 1, rồi gán giá trị của a bằng nó.

Mã ví dụ C++

#include <iostream>
using namespace std;
int main() {
    int a, b = 15;
    a = ++b;
    cout << a;
    return 0;
}

Kết quả

16

Mã ví dụ C

#include <stdio.h>
int main() {
    int a, b = 15;
    a = ++b;
    printf("%d", a);
    return 0;
}

Kết quả

16

Mã ví dụ Java

public class IncDec {
    public static void main(String[] args) {
        int a, b = 15;
        a = ++b;
        System.out.println("" + a);
    }
}

Kết quả

16

Mã ví dụ C#

using System;
namespace IncDec {
    class Inc {
        static void Main() {
            int a, b = 15;
            a = ++b;
            Console.WriteLine("" + a);
        }
    }
}

Kết quả

16

Toán tử hậu tố tăng (post-increment) dùng để tăng giá trị của biến sau khi dùng nó trong biểu thức. Trong hậu tố tăng, giá trị được dùng trong biểu thức trước, sau đó mới tăng lên 1.

Nếu biểu thức là a = b++; và b giữ 5, thì a cũng giữ 5. Vì tăng b lên 1 sau khi gán nó vào a.

Mã ví dụ C++

#include <iostream>
using namespace std;
int main() {
    int a, b = 15;
    a = b++;
    cout << a << " " << b;
    return 0;
}

Kết quả

15 16

Mã ví dụ C

#include <stdio.h>
int main() {
    int a, b = 15;
    a = b++;
    printf("%d", a);
    printf("%d", b);
    return 0;
}

Kết quả

15 16

Mã ví dụ Java

public class IncDec {
    public static void main(String[] args) {
        int a, b = 15;
        a = b++;
        System.out.println("" + a);
        System.out.println("" + b);
    }
}

Kết quả

15 16

Mã ví dụ C#

using System;
namespace IncDec {
    class Inc {
        static void Main() {
            int a, b = 15;
            a = b++;
            Console.WriteLine("" + a);
            Console.WriteLine("" + b);
        }
    }
}

Kết quả

15 16