-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
누적합 구하는데 질문이 있습니다.
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 많게 나오는 이유가 궁금합니다
답변을 작성해보세요.
0
김태원
지식공유자2021.01.28
안녕하세요^^
답변이 늦어서 죄송합니다.
기본적으로 누적하는 변수는 0으로 초기화해야 합니다. 그렇지 않으면 컴퓨터에 따라 조금 다르지만 의미없는 값으로 초기화됩니다.
답변 1