Không hiểu một vấn đề về mảng trong c++?

Mình có đoạn code thế này:

 void output(int a[])
{
	cout << a[2, 2] << endl;
}
void main()
{
	int a[] = { 1,3,5 };
	output(a);
}

không hiểu tại sao khi xuất a[2, 2] thì vẫn xuất bình thường (5), đặc biệt mảng chỉ ghi nhận chỉ số đứng sau, chỉ số đứng đầu thì số nào cũng được, mặc dù là biết sai cú pháp bên c++, nhưng vẫn thắc mắc hoài ?

Đúng là cú pháp sai thật.
Nhưng chắc do trình biên dịch nó thông minh nên vẫn nhận tham số cuối cùng.

Nhưng nó vẫn đưa ra warning:

1 Like

đó là do comma operator của C++ :grin: Ko phải lỗi đâu.

dấu phẩy trong C++ cũng là 1 toán tử :joy:

3 Likes

đã thông, quá hay, cảm ơn bạn :smiley:

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