"함수형 프로그래밍"의 두 판 사이의 차이

잔글
y = z * z;
와는 다른 결과를 갖게 된다. 마찬가지로
<source lang="c">
y = printf("x") * printf("x");
</source>
에서 printf가 화면에 글자를 출력하는 함수라면, 이 함수는 부수효과를 발생시키며 따라서 순수한 함수라고 볼 수 없다. C의 printf 함수는 "x"가 정상적으로 출력되었느냐 여부에 따라 0이나 1 값을 반환한다. 따라서 정상적인 경우 y는 1이 되겠지만, printf 함수가 제대로 출력하지 못하는 경우 0이 될 수도 있다. 어쨌든 순수한 함수라고 볼 수 없다.