test2() 함수는 main() 함수에게 3을 전달받아 test2() 함수 안에 있는 변수 x에 저장하고 변수 x의 값을 출력하였지만, main() 함수로 어떠한 값도 돌려주지 않습니다. 그러므로 test2() 함수 이름 앞에 void라고 명시하거나 생략할 수 있습니다.
그렇다면 입력도 없고 출력도 없는 함수는 가능할까요? 수학의 함수에서는 불가능하나 프로그래밍 언어의 함수에서는 가능합니다.
그림 3-17 | 입력도 없고 출력도 없는 함수
다음 코드의 test3() 함수는 호출되도 값을 전달하지 않고, main() 함수는 호출이 완료되도 값을 돌려받지 않습니다. 이 프로그램은 단지 main() 함수가 test3() 함수를 호출할 때마다 화면에 “Hello”라고 출력할 뿐입니다.