こんにちわ、
volatileはコンパイラを通知して、最適化コード出来ません。
可変入力は一番です。
プログラムの制御以外で可変入力例えばsystem clock timeが使います。