과목 구분 없음9급 지방직 공무원 컴퓨터일반 · 2009년05월23일 · 16/20
16.아래 C 프로그램의 실행 결과는?

1
0정답
2
1
3
2
4
3
해설
해당 문제에서 기억해야 되는 점은 2가지 입니다. C언어에서 정수의 나눗셈은 정수로 나오며 소수점은 버려진다. ++는 계산 종료 후 실행된다. 따라서 a = 4 * (1 / 2);는 a = 4 * 0으로 a = 0이 됩니다. 또한 b에 a의 값 0을 대입한 다음 a의 값을 1 더하게 됩니다. 따라서 a = 1, b = 0이 되며 출력은 b의 값을 하기 때문에 0의 값이 출력됩니다. 디버깅 int a,b; - 정수형 변수 a, b를 선언 a = 4 * (1 / 2); - 괄호 안의 1/2를 우선 수행하면 0.5가 나오며 정수형으로 바꾸어야 되기 때문에 소숫점이하인 0.5를 버려 0으로 변환, a = 4 * 0이 되므로 a = 0을 계산해서 값 대입 b = a++; - b에 a의 값 0을 입력하고 a의 값을 1 더함 prtinf("%d", b); - 변수b의 값을 정수형으로 출력 실행결과 0