33.6 배열의 요소 합계 구하기

반복문으로 배열의 요소를 출력하는 방법을 알아보았으니 이번에는 배열에서 요소의 합을 구해보겠습니다.

array_element_sum.c

#include <stdio.h>

int main()
{
    int numArr[10] = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 };    // 크기가 10인 int형 배열
    int sum = 0;    // 합을 저장할 변수는 0으로 초기화

    for (int i = 0; i < sizeof(numArr) / sizeof(int); i++)    // 배열의 요소 개수만큼 반복
    {
        sum += numArr[i];    // sum과 배열의 요소를 더해서 다시 sum에 저장
    }

    printf("%d\n", sum);    // 605

    return 0;
}

실행 결과

605

배열의 요소 개수만큼 반복하면서 변수 sum과 요소를 더한 뒤 다시 sum에 저장해줍니다. 즉, 요소의 값을 sum에 누적시키는 것이죠.

+= 연산자를 풀어서 쓰면 다음과 같습니다.

sum = sum + numArr[i];

여기서 변수 sum을 0으로 초기화해주지 않으면 쓰레기 값이 들어있게 됩니다. 그래서 쓰레기 값과 요소의 값을 더하게 되므로 잘못된 결과가 나옵니다. 값을 누적시킬 때는 변수를 반드시 0으로 초기화해주세요.