generated at
副作用
Side effect
関数の実行で、本来の出力以外に影響を及ぼすことがあること。
または、外界に対して影響を及ぼしてしまうこと。
副作用がある関数は参照透過性がない。

C言語の printf による「出力」も、副作用と考えられることもある。
プリプロセッサマクロで複数回評価されることが副作用とされる。
max.c
#define max(a, b) (((a) > (b)) ? (a) : (b)) int r = max(getA(), getB()); // getA(), getB() が複数回評価されてしまう。