Tính tổng các giá trị trong mảng bị sai

Mọi người cho em hỏi e viết code tính tổng giá trị trong mảng mà nó ra sai kq, ai biết chỉ em lỗi sai với ạ.

#include<stdio.h>
#include<stdlib.h>

int main(int argc, char* argv[])
{
	int a=0, i, array[3] = { 1,2,3 };
	//a la tong array
	for (i = 0; i <= 3; i++)
	{
		a+=array[i];
	}
	printf("tong array = %d\n", a);	
	return 0;
}

array của bạn chỉ có 3 elements,
vòng for bạn chạy từ 0 đến 3: 0 1 2 3 là 4 mất rồi

5 Likes

giờ em cần sửa như nào ạ, e mới mò nên vẫn chưa hiểu rõ ạ

Xem lại tài liệu về vòng lặp (của C nhé).
Chọn 1:

for (i = 0; i <= 3; i++) // <=
// hay
for (i = 0; i < 3; i++) // <
4 Likes

dạ em cảm ơn nhiều ạ

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