01/10/2018, 09:53

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
",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.

Trần Hoàn viết 11:55 ngày 01/10/2018

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.

Bài liên quan
0