문제 4 · 참조 전달과 출력 예측
문제 4 [2점]
아래 코드를 읽고, 출력을 예상하여 작성하세요.
cpp
#include <iostream>
using namespace std;
void multiplication(double& x) {
x *= 4;
}
int main() {
double num = 2.0;
multiplication(num);
cout << num;
}풀이 및 해설
매개변수 double& x는 참조 전달pass by reference입니다. x는 main의 num을 복사한 것이 아니라 num 자체의 별칭이므로, 함수 안에서 x를 바꾸면 num도 함께 바뀝니다.
num = 2.0multiplication(num)호출 →x는num의 별칭x *= 4→num이2.0 * 4 = 8.0이 됨cout << num→8출력 (소수부가 0이므로8)