• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

누적합 구하는데 질문이 있습니다.

21.01.12 14:07 작성 조회수 154

0

#include <stdio.h>

int main ()

{

int i,sum,a;

scanf("%d",&a);

for (i=1;i<=a;i++)

{

sum=sum+i;

}

printf("%d",sum);

return 0;

}

이렇게 코드작성을 했을때 10까지 더하면 1많은 56이 출력이 됩니다. 그런데 변수설정할때 int sum=0; 만 바꿔주어도 맞는 답이 출력이 됩니다.

int sum;

printf("%d",sum); 하면 0으로 잘 나오는데

sum=0; 설정을 안해주면 원래 답보다 1 많게 나오는 이유가 궁금합니다

답변 1

답변을 작성해보세요.

0

안녕하세요^^

답변이 늦어서 죄송합니다.

기본적으로 누적하는 변수는 0으로 초기화해야 합니다. 그렇지 않으면 컴퓨터에 따라 조금 다르지만 의미없는 값으로 초기화됩니다.