• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

sum = i + j;의 위치

21.03.20 23:47 작성 조회수 103

0

#include <stdio.h>

int main()

{

int i = 0, j=0;

int sum = 0;

printf("input 2 intigers\n");

scanf("%d%d",&i,&j);

sum = i + j;

printf("%d+%d=%d",i,j,sum);

return 0;

}

이렇게 하면 실행했을 때 제대로 나오는데

sum = i + j;의 위치가 저 자리 아닌 곳에 놓으면

실행시 sum의 기능을 못하고 0으로 나오는데 왜 그런지 궁금합니다.

답변 1

답변을 작성해보세요.

1

안소님의 프로필

안소

2021.03.21

안녕하세요~ 답변 도우미입니다.

"어떤 곳에 옮겨 두고" 실행해보셧는지도 말씀 해주셨으면 좋았을 것 같아요.

sum = i + j 을 scanf 위에다 놓으신 것이라면 i 와 j 를 입력받기 전에 sum = i + j 을 진행했으니 sum = 0 + 0 인 상태로 끝났겠죠. 만약 printf 밑에다 sum = i + j 을 놓으신 것이라면 더하는 작업 해주기도 전에 출력을 했으니 sum 의 초기값인 0 을 출력할 것이구요!  더해지기도 전에 출력을 하신 것이기 때문에 sum 에 i + j 결과가 대입되기 전 값인 0 이 출력되는 것입니다.

실행은 코드 위부터 차례대로 실행이 되니 순서를 고려하시면서 생각해보세요! 😊