KU COSE101 2016기말고사 1번 문제

1 minute read

             
2016 기출 1번 2번 3번 4번 5번  
2017 기출 1번 2번 3번 4번 5번  
2018 기출 1번 2번 3번 4번 5번 6번

다음 프로그램의 실행 결과를 쓰시오.

#include<stdio.h>

void fun1();
void fun2();
void fun3();

int x = 2;
int main(){
	int x = 3;
	printf("%d, ",x);
	{
		int x = 5;
		printf("%d, ",x);
	}
	printf("%d, ",x);
	
	fun1(); fun2(); fun3();
	fun1(); fun2(); fun3();
	printf("%d\n",x);
	
	return 0;
}

void fun1(){
	int x = 7;
	printf("%d, ",x);
	x++;
	printf("%d, ",x);
}

void fun2(){
	static int x = 11;
	printf("%d, ",x);
	x++;
	printf("%d, ",x);
}

void fun3(){
	printf("%d, ",x);
	x+=13;
	printf("%d, ",x);
}

정답
3, 5, 3, 7, 8, 11, 12, 2, 15, 7, 8, 12, 13, 15, 28, 3

1) 3 : main::x의 3
2) 5 : main함수 안에 중괄호 블록 안의 x 5
3) 3 : main::x의 3
4) 7 : fun1::x의 7
5) 8 : fun1::x가 1이 더해졌기 때문에 8
6) 11 : fun2::x의 11
7) 12 : fun2::x가 1이 더해졌기 때문에 12
8) 2 : global::x의 2
9) 15 : global::x가 13이 더해졌기 때문에 15
10) 7 : fun1::x의 7
11) 8 : fun1::x가 1이 더해졌기 때문에 8
12) 12 : fun2::x는 static 변수이기 때문에 전에 저장되있던 fun2::x의 값인 12가 출력
13) 13 : fun2::x가 1이 더해졌기 때문에 13
14) 15 : global::x의 15
15) 28 : global::x가 13이 더해졌기 때문에 28
16) 3 : main::x의 3

Comments