다음은 C언어 소스 코드이다. 출력 결과를 쓰시오.
int main(){
int res;
res = mp(2,10);
printf("%d",res);
return 0;
}
int mp(int base, int exp) {
int res = 1;
for(int i=0; i < exp; i++){
res = res * base;
}
return res;
}
int mp(int base, int exp)int (정수 반환)base, expbase를 exp번 곱한 값을 계산(거듭제곱).res = mp(2,10);base=2, exp=10으로 함수 호출.res에 저장.base=2, exp=10이 함수 내부로 복사됨.for(int i=0; i < exp; i++){
res = res * base;
}
res=1res = 1*2 = 2res = 2*2 = 4res = 4*2 = 8res = 8*2 = 16res = 512*2 = 1024printf("%d", res);
%d → 정수 출력res=1024 출력됨.main() 실행 시작mp(2,10) 호출 → 2의 10제곱 계산res=1024 반환printf("%d", res); → 1024 출력1024
이 문제에서 꼭 알아야 할 개념: