더북(TheBook)

다음 코드를 보고 결과가 어떻게 나올지 생각해 보세요.

function_variable.c

#include <stdio.h>
 
void abc(int a, int b) {
    a = a * 10;
    b = b * 10;
}
 
main() {
    int a;
    int b;
 
    a = 1;
    b = 2;
 
    abc(a, b);
 
    printf("a의 값은 %d이고 b의 값은 %d입니다.\n", a, b);
}

실행 결과

a의 값은 1이고 b의 값은 2입니다.

아마 출력 결과가 “a의 값은 10이고 b의 값은 20입니다.”라고 생각한 사람도 많을 것입니다. 그렇다면 어떤 이유에서 a = 1, b = 2라는 결과가 나왔을까요?

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.