JavaScript is required

What will happen if in the C program you assign a value to a array element whose subscript exceeds the size of array?

A.
The element will be set to 0.
B.
The complier would report an error.
C.
The program may crash if some important data gets overwritten
D.
The array size would appropriately grow
Trả lời:

Đáp án đúng: C


Trong ngôn ngữ C, khi bạn gán một giá trị cho một phần tử mảng mà chỉ số vượt quá kích thước của mảng, điều này sẽ dẫn đến hành vi không xác định. Trình biên dịch C thường không kiểm tra các lỗi vượt quá giới hạn mảng tại thời điểm biên dịch hoặc thời gian chạy (trừ khi có các công cụ hoặc tùy chọn đặc biệt được sử dụng để phát hiện các lỗi này). Do đó, chương trình có thể tiếp tục chạy, nhưng có thể ghi đè lên các vùng nhớ khác, gây ra các lỗi khó gỡ lỗi. Phương án A: Sai. Phần tử không tự động được đặt thành 0. Phương án B: Sai. Trình biên dịch thường không báo lỗi trong trường hợp này. Phương án C: Đúng. Chương trình có thể bị crash (sập) nếu dữ liệu quan trọng bị ghi đè, hoặc có thể dẫn đến các hành vi không mong muốn khác. Phương án D: Sai. Kích thước mảng không tự động tăng lên.

Câu hỏi liên quan