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
반응형
'코딩일기 > 자격증' 카테고리의 다른 글
[정보처리기사] GROUP BY와 HAVING 구문을 활용한 SQL 문제 | 2020년 3회 정보처리기사 실기 기출문제 (0) | 2024.11.07 |
---|---|
[정보처리기사] EAI(Enterprise Application Integration) 구축 유형 | 정보처리기사 실기 기출문제 (0) | 2024.10.29 |
[정보처리기사] [ Java ] 클래스, 객체, 상속, 생성자, super | 2020년 2회 정보처리기사 실기 기출문제 (0) | 2024.10.15 |
[정보처리기사] LOD (Linked Open Data)란? | 정보처리기사 실기 기출문제 (0) | 2024.10.14 |
[정보처리기사] 운영체제 기본 명령어(UNIX/LINUX)| chmod 명령어 | 정보처리기사 실기 기출문제 (0) | 2024.10.14 |