Cách tính tổng mảng trong C

mình học đến bài mảng và có bài tính tổng trong 1 mảng, sau đây là code của mình:

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


int TinhTong(int array[], int KichThuocArray);
int main(int argc, char* argv[])
{
    int array[5] = {2,2,2};
    int KichThuocArray = 5;

    printf("Tong array = %d\n",TinhTong(array,KichThuocArray));

    return 0;
    
}



int TinhTong(int array[], int KichThuocArray)
{
    int i, s;
    
    for(i = 0; i < KichThuocArray; i++)
    {
        s+= array[i];
    }
    return s;
}

khi chạy thì code ra kết quả sai, ai giúp mình với TT.

trong hàm tính tổng, bạn khởi tạo giá trị 0 cho s

int TinhTong(int array[], int KichThuocArray)
{
    int s = 0;    
    for(int i = 0; i < KichThuocArray; i++)
    {
        s+= array[i];
    }
    return s;
}

Nguyên nhân là do nếu bạn không khởi tạo giá trị ban đầu, ô nhớ mà máy cấp cho biến s sẽ vẫn còn giá trị rác của chương trình trước đó đã sử dụng ô nhớ này.

4 Likes

Viết chương trình yêu cầu người dùg nhập vào một mảng số nguyên gồm n phần tử (n =50) xuất mảng vừa nhập ra màng hình để kt kq. In ra màn hình các phần tử chẳn dương có trong mảng

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