副作用
Side effect
関数の実行で、本来の出力以外に影響を及ぼすことがあること。
または、外界に対して影響を及ぼしてしまうこと。
C言語の printf による「出力」も、副作用と考えられることもある。
プリプロセッサマクロで複数回評価されることが副作用とされる。
code:max.c
#define max(a, b) (((a) > (b)) ? (a) : (b)) int r = max(getA(), getB()); // getA(), getB() が複数回評価されてしまう。