Why a cannon recoils after firing?

A.due to conservation of energy

B.due to backward thrust of gases produced

C.due to Law of Inertia

D.due to Law of Interaction

(answer + explaination pls thx)