Which of the following code snippets can be used to create an array with all elements initialized to zero in the C language?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "int a[5] = {0};". Danh sách khởi tạo của mảng trong C đặt trong cặp ngoặc nhọn, và chuẩn quy định nếu số giá trị ít hơn số phần tử thì phần còn lại được khởi tạo về 0, nên viết đúng một số 0 là đủ để cả năm phần tử bằng 0. Cách viết "int a[5] = [0, 0, 0, 0, 0];" dùng ngoặc vuông làm danh sách, nhưng ngoặc vuông trong C chỉ dành cho khai kích thước và truy cập phần tử, nên đây là lỗi cú pháp. Cách viết "int a[5] = (0, 0, 0, 0, 0);" dùng ngoặc tròn nên vế phải thành một biểu thức với toán tử phẩy, giá trị của nó là một số 0 đơn lẻ và không thể gán cho cả mảng. Cách viết "int a[5];" không có phần khởi tạo: mảng cục bộ như vậy chứa đúng những byte rác còn lại trong bộ nhớ, chỉ mảng toàn cục hoặc static mới tự về 0, nên không bảo đảm được điều đề bài đòi.

Cùng phần 7

Xuất hiện trong 2 bộ đề