Hỏi về lập trình c++ về toán tử -->

#include <iostream>

using namespace std;

int main()
{
    int q;
    cin >> q;

    while (q-->0)
    {
        int n;
        cin >> n;
        cout << ((n % 4 == 0) && !(n % 100 == 0) || (n % 400 == 0) ? "YES" : "NO") << '\n';
    }

    return 0;
}

cho em hỏi p–>0 là gì vậy

nó là q-- > 0, toán tử postfix decrement và so sánh >. Viết liền --> cho giống như q đang tiến tới 0 vậy =] Tác dụng của nó là lặp đúng q lần, nhưng thay vì đi từ 0, 1, 2, ..., q-1 thì ở đây nó lùi lại q-1, q-2, ..., 2, 1, 0. Rất tiện lợi nếu muốn lặp q lần mà ko quan tâm tới giá trị của q trong vòng lặp, hay muốn duyệt mảng với index theo chiều ngược lại.

5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?