Tôi đã xem mã này trên reddit. Tôi đã nghĩ rằng các loại chuyển đổi sẽ khiến điều này không hợp lệ.Tại sao điều này hợp lệ C
int a[3] = { { {1, 2}, {3, 4}, 5, 6 }, {7, 8}, {9}, 10 };
Trên tiếng kêu, tôi nhận được một vài cảnh báo về các yếu tố quá mức và dấu ngoặc trong bộ khởi tạo vô hướng. Nhưng nội dung của a
là [1, 7, 9]
.
Điều này thực sự hợp pháp, và nếu có, ai đó có thể giải thích chính xác những gì đang xảy ra không?
+1, thật thú vị. – ApprenticeHacker
Với gcc tôi nhận được 24 Cảnh báo. Câu hỏi tuyệt vời. Tôi sống & học :-) – gbulmer
Yay gcc! Ít nhất bạn sẽ nhận được một cảnh báo. – boatcoder