코딩일기/자격증

[정보처리기사] [ C ] while문 | 2020년 정보처리기사 기출문제

jhy_2023 2024. 10. 16. 13:51
728x90
반응형

2020년 3회 정보처리기사 실기 기출문제

문제

다음은 C언어 소스 코드이다. 출력 결과를 쓰시오.

#include <stdio.h>
    void main(){
        int i=0, c=0;
        while (i<10){
            i++;
            c*=i;
        }
        printf("%d",c);
    }

정답

0

반응형

해설

이 문제에서 중요한 부분은 while 루프 내에서의 변수 i와 c의 초기값 설정과 연산 순서를 이해하는 것입니다.

  • 초기값 설정: 변수 i는 0으로, c도 0으로 초기화됩니다.
  • while문 분석:
    루프는 i < 10일 때까지 반복됩니다. i++을 통해 i는 1씩 증가합니다. 하지만 문제는 변수 c의 연산입니다. c *= i;는 c에 i 값을 곱하는데, 처음 c는 0이므로 아무리 i 값이 변해도 0 * i는 항상 0입니다.
  • 결과:
    루프는 총 10번 반복되지만, 처음에 c가 0이었고, 계속 0에 곱셈이 이루어지므로 최종적으로 printf("%d", c);는 0을 출력하게 됩니다.

따라서 출력 결과는 0입니다.


[참고]

 

  • 변수 i는 1씩 증가하지만, 변수 c는 처음부터 0이었기 때문에 아무리 i가 증가해도 곱셈(c *= i) 결과는 계속 0으로 유지됩니다.
  • 따라서 최종 출력은 0입니다.

 

728x90

 


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

728x90
반응형