PURPOSE: To prevent detonation such as, for example, knocking from occuring, by controlling the injection amount of knocking restraining liquid in accordance with the operating condition of an engine, and as well by modifying the increment of the knocking restraining liquid upon occurrence of detonation.
CONSTITUTION: During engine operation a control device 50 determines the amount Wt of water injection and the value ΔWt of water injection increment compensation in accordance with the rotational speed of an engine detected by a rotating angle sensor 48b and the amount of intake-air detected by an air flowmeter 19. Then, if it is determined in accordance with the output of a quantity sensor 49 that the amount of water in a tank 4 is not zero, discrimination is made on whether knocking occures or not in accordance with the output of a knocking sensor 57. If the knocking occures, then discrimination is made whether a water injection amount modifying flag is "1" or not. If it is not "1" the amount of water injection is set to Wt+nΔWt where n is the frequency number of water injection compensation, and water injection from a water injection valve 41 is carried out. If it is "1", the amount of water injection is set to the value where n is added with 1 and water injection is carried out.