Bài tập  /  Bài đang cần trả lời

Lỗi ở đoạn code này là gì, cách sửa. ​

Mọi người cho em hỏi : lỗi ở đoạn code này là gì ạ. Và cách sửa.
​int a[10];
for(int i = 1; i <= 10; i++)
  cout << a[i]; 
2 Xem trả lời
Hỏi chi tiết
150
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Lỗi trong đoạn code trên là vượt quá chỉ số của mảng. Mảng `a` có kích thước 10, nhưng chỉ số của mảng bắt đầu từ 0 đến 9. Vòng lặp `for` trong code trên chạy từ 1 đến 10, nên khi truy cập `a[i]` với `i = 10` sẽ vượt quá chỉ số của mảng.

Để sửa lỗi này, bạn có thể thay đổi điều kiện trong vòng lặp `for` thành `i <= 9` để đảm bảo chỉ số của mảng không vượt quá 9. Và bạn cần khởi tạo giá trị cho mảng `a` trước khi truy cập vào các phần tử của nó.
3
3
qcuongg
12/01 08:43:06
+5đ tặng
Hãy nhớ rằng trong C++ thì mảng bắt đầu từ vị trí 0, trong khai báo trên mảng a có 10 phần tử bắt đầu từ vị trí 0 đến vị trí 9, do đó vòng lặp chạy như trên sẽ cho kết quả sai, phải sửa lại như thế này.
 for(int i = 0; i <= 9; i++) 

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập
1
1
+4đ tặng
=> Giải thích. : for (int i=10; i>=1; i--) sẽ chạy từ 10 -> 1, cout << i << " "; sẽ đưa ra màn hình i và " "
vì nó sẽ chạy từ 10 đến 1, và sẽ in ra từng giá trị nó chạy qua

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×